国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

歸并排序算法

2019-11-11 02:05:30
字體:
來源:轉載
供稿:網友

所謂歸并排序,其實就是將一個數組分成等分兩個相等的數組,然后對這兩個數組都做同樣的排序操作,再將兩個數組結合起。實際是一個遞歸的過程 那么這個結合是怎么樣的操作? 舉例左數組為經過排序操作等于【3,4】,右數組等于【1,2】,那么 這個數組本應是【3,4,1,2】,如何使之變成【1,2,3,4】呢? 事實上,這是兩個有序的數組,我們只須不斷地比較兩個數組各自的第一個,取出最小的加入新數組,直到兩個數組再也沒有元素。這樣就完成了排序

a=[6,2,3,9,2,1,5,6,19,87,65,65,21,35,75,82,59,62]def merge(left,right): ret=[] j=0 k=0 while(j<len(left) and k<len(right)): if left[j]<right[k]: temp=left[j] j+=1 else: temp=right[k] k+=1 ret.append(temp) while(j<len(left)): ret.append(left[j]) j+=1 while(k<len(right)): ret.append(right[k]) k+=1 return retdef mergeSort(a): if len(a)<2: return a l=len(a) left=a[:l/2] right=a[l/2:] return merge(mergeSort(left),mergeSort(right))PRint mergeSort(a)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 门头沟区| 彭阳县| 若尔盖县| 左贡县| 资中县| 湟中县| 桂平市| 铜陵市| 古交市| 上蔡县| 望谟县| 永丰县| 青川县| 千阳县| 洛川县| 芦山县| 宾阳县| 诸城市| 页游| 雅安市| 朝阳区| 灌阳县| 金阳县| 罗平县| 中方县| 乌鲁木齐县| 莱芜市| 兴海县| 屯昌县| 修文县| 彭泽县| 巢湖市| 通河县| 大化| 曲水县| 鸡东县| 阿鲁科尔沁旗| 辰溪县| 寻乌县| 增城市| 柘城县|