日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

分治法:关于选择算法,找最大,找最小,同时找最大和最小,找第二大

發布時間:2024/9/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分治法:关于选择算法,找最大,找最小,同时找最大和最小,找第二大 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

找最大或者最小,蠻力算法為最優的算法,需要比較n-1次

# 這個已經是最優的算法了,比較n-1次 def findMax(arr):max_pivot = arr[0]for i in range(1,len(arr)):if arr[i] > max_pivot:max_pivot = arr[i]return max_pivotdef findMin(arr):min_pivot = arr[0]for i in range(1,len(arr)):if arr[i] < min_pivot:min_pivot = arr[i]return min_pivot

還有一種分治的算法,也是需要比較n-1次,類似于錦標賽,這里比較次數就是淘汰掉的隊伍個數,劃分子問題的方法就是兩兩比較,只留最大,注意奇數的處理(直接晉級下輪)

# 兩兩比較得到最大的一半數組 def partition_max(arr):pointer = 0max_arr =[]while pointer <= len(arr)-2:max_arr += [max(arr[pointer],arr[pointer+1])]pointer +=2# 假如是奇數,加上最后一個數,偶數的話加的為空 max_arr +=arr[pointer:]return max_arr# 找最大分治的寫法,也是最優的為比較n-1次 def findmax_recursive(arr):if len(arr) == 1:return arr[0]max_arr = partition_max(arr)return findmax_recursive(max_arr)

同時找最大和找最小,蠻力算法,找最大n-1,找最小n-2,合計2n-3

使用分組的方式比較次數:3/2 *n -2

# 找最大和最小,得到最大一半分組和最小的一半分組 def partition_max_min(arr):pointer = 0max_arr =[]min_arr =[]while pointer <= len(arr)-2:if arr[pointer] >=arr[pointer+1]:max_arr.append(arr[pointer])min_arr.append(arr[pointer+1])else:max_arr.append(arr[pointer+1])min_arr.append(arr[pointer])pointer +=2max_arr +=arr[pointer:]min_arr +=arr[pointer:]return max_arr,min_arr# 這個也是最優的算法了 def findMaxMin(arr):max_arr,min_arr = partition_max_min(arr)min = findMin(min_arr)max = findMax(max_arr)return max,min

找第二大,蠻力算法也是2n-3,采取錦標賽的方式冠軍比較n-1次,亞軍在冠軍的手下敗將里產生比較logn-1次,這里需要備忘冠軍的手下敗將,但是一開始冠軍不知道,所以每個選手需要記錄他曾經打敗過的選手

#%% class node:def __init__(self,value=None,miss=None):self.value = valueself.miss =missdef partition_max_with_nodes(arr):pointer = 0max_arr =[]while pointer <= len(arr)-2:if arr[pointer].value >=arr[pointer+1].value:arr[pointer].miss.append(arr[pointer+1].value)max_arr.append(arr[pointer])else:arr[pointer+1].miss.append(arr[pointer].value)max_arr.append(arr[pointer+1])pointer +=2# 假如是奇數,加上最后一個數,偶數的話加的為空 max_arr +=arr[pointer:]return max_arrdef findMaxSecondmax(arr):arr_node =[]for i in range(len(arr)):arr_node.append(node(arr[i],[]))def findmax_recursive(arr):if len(arr) == 1:return arr[0]max_arr = partition_max_with_nodes(arr)return findmax_recursive(max_arr)pair = findmax_recursive(arr_node)first_max = pair.valuesecond_max_arr = pair.misssecond_max = findMax(second_max_arr)return first_max,second_maxarr = [4,44,5,77,8,32,18,99,377,55,33,11,12,999,678] print(arr) ##print(findMax(arr)) ##print(partition_max(arr)) ##print(findmax_recursive(arr)) #print(partition_max_min(arr)) #print(findMaxMin(arr)) print(findMaxSecondmax(arr))[4, 44, 5, 77, 8, 32, 18, 99, 377, 55, 33, 11, 12, 999, 678] (999, 678)

對于一般情況下次再研究

總結

以上是生活随笔為你收集整理的分治法:关于选择算法,找最大,找最小,同时找最大和最小,找第二大的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕一区二 | 亚州国产精品视频 | 福利av在线 | 在线视频你懂得 | 色 综合 欧美 亚洲 国产 | 日本久操视频 | 久久久久久久无码 | 国内精品国产成人国产三级 | 插插插日日日 | 亚洲成人tv | 毛片免费播放 | 日韩中文一区 | 狠狠操导航 | 性综艺节目av在线播放 | 黑人日批视频 | 天堂av在线免费 | 国产91视频在线观看 | 精品人妻一区二区三区四区久久 | 日本三级生活片 | 色老汉视频 | 久久久久久久久久久久久女国产乱 | mm131国产精品 | 色婷婷综合久久久久中文字幕 | 18xxxx日本 | 成人国产视频在线观看 | 精品区| 久久久久久欧美 | 国产明星换脸xxxx色视频 | 波多野吉衣毛片 | 精品无人区无码乱码毛片国产 | 999一区二区三区 | 久久亚洲天堂 | 国内精品人妻无码久久久影院蜜桃 | 久久久久在线观看 | 三级小视频在线观看 | 欧美日韩一区在线播放 | 色哟哟一区二区三区四区 | 91精品国产综合久久久久久久 | jizz免费 | 中文字幕一区二区三区在线观看 | 成人在线日韩 | 四虎成人永久免费视频 | 女人的黄色片 | 国产精品免费视频观看 | 欧美成人午夜电影 | 94av视频| 饥渴丰满的少妇喷潮 | 日韩最新| 亚洲AV无码精品色毛片浪潮 | 日韩在线视 | 超碰视屏 | 亚洲欧美日韩在线不卡 | 清纯唯美亚洲 | 亚洲一区二区综合 | 色88久久久久高潮综合影院 | 国产深夜福利在线 | 女人叫床高潮娇喘声录音mp3 | 国产精品97 | 黑人一级| 中国黄色一级大片 | 女同在线视频 | 秋霞国产 | 欧美日韩一区不卡 | 国产又黄又粗 | 欧美日韩一区二区综合 | 午夜小视频免费 | 国产资源站 | 国产天堂资源 | 少妇一级淫免费播放 | 日韩美女国产精品 | 91精品国产乱码久久久久久久久 | 日本中文字幕久久 | 亚洲精品无码成人 | 欧美性欧美zzzzzzzzz | www.久久久久久 | 婷婷爱爱| 日韩videos| 欧美成在线视频 | 91在线观看喷潮 | 超碰毛片 | 天堂久久久久久 | 自拍视频在线播放 | 97超碰在线免费观看 | 国产一区二区视频免费在线观看 | 亚洲av无码日韩精品影片 | 亚洲成人系列 | 高清一级片 | 久久久久久久久久电影 | 青娱乐毛片 | 国产成人综合一区二区三区 | 人妻精品久久久久中文字幕69 | 欧美一区二区三区精品 | 午夜男人天堂 | 精东影业一区二区三区 | 成年人性生活免费视频 | 成年人国产 | 综合在线一区 | 在线中文字幕第一页 | 国产福利专区 |