归并排序(python实现)
2011-12-16 16:05
260 查看
def mergesort(L): print L if len(L)<2: return L[:] else: middle=len(L)/2 left=mergesort(L[:middle]) right=mergesort(L[middle:]) together=merge(left,right) print 'left' ,left print 'right',right print 'merge',together return together def merge(left,right): result=[] i,j=0,0 while i<len(left) and j<len(right): if left[i]<=right[j]: result.append(left[i]) i=i+1 else: result.append(right[j]) j=j+1 while (i<len(left)): result.append(left[i]) i=i+1 while (j<len(right)): result.append(right[j]) j=j+1 return result
最近在看MIT的计算机科学与编程导论,这是其中的一个小例子,中午照着代码调试了好久,才知道是如何运行的。哎,真失败!
坚持就是胜利!
相关文章推荐
- Python实现各类数据结构和算法----归并排序
- 算法基础:排序(二)——归并排序——Python实现
- 归并排序及Python实现
- python二路归并排序实现法
- 算法基础:排序(二)——归并排序——Python实现
- 归并排序详解(python实现)
- python实现归并排序
- python算法实现系列-归并排序
- 改进版python实现的归并排序
- Python实现冒泡排序、选择排序、插入排序、快速排序、归并排序、二分法查找算法(基于《算法导论》伪代码)
- 利用Python实现归并排序
- Merge Sort(归并排序)的JAVA与Python实现
- 快速排序,归并排序,堆排序python实现
- python实现归并排序
- 归并排序详解(python实现)
- 使用python实现归并排序
- 快排、堆排和归并排序的Python实现
- Python实现二路归并排序
- Python实现归并排序
- 排序算法C++&&Python实现---归并排序