递归算法

来源:互联网 发布:产品三维展示软件 编辑:程序博客网 时间:2024/05/20 13:36
#-*-coding:utf-8-*#这样可以加中文注释么'''最上面的一句话就是用来加中注释的递归的书写,有三个部分:一、终止条件二、参数变化三、函数表达式''''''这是一个简单的递归表达式'''def recs(n):if n<=1:print nreturn 1print nreturn 4*recs(n/2)+nprint recs(29)'''归并排序递归,合并,所以函数分为两个部分一个用来递归,一个用来合并'''def mergeSort(lists):if len(lists)<=1:return listsnum=len(lists)/2left=mergeSort(lists[:num])right=mergeSort(lists[num:])return merge(left,right)def merge(left,right):result=[]r,l=0,0while l<len(left) and r<len(right):if left[l]<right[r]:result.append(left[l])l+=1else:result.append(right[r])r+=1result+=left[l:]result+=right[r:]return resultprint mergeSort([1,9,2,8,3,7,4,6,5])


0 0