轮子
式人M
这个作者很懒,什么都没留下…
展开
-
归并排序
Pythondef merge_sort(lst): if(len(lst) <= 1): return lst left = merge_sort(lst[:int(len(lst)/2)]) right = merge_sort(lst[int(len(lst)/2):len(lst)]) result = [] while len(l原创 2017-04-22 21:00:46 · 245 阅读 · 0 评论 -
最大子序列和的分治算法
C++int maxsum(int *A,int x,int y) { int v,l,r; if(y-x==1) return A[x]; int m=x+(y-x)/2; int maxs=max(maxsum(A,x,m),maxsum(A,m,y)); int v1,l1,r1; v1=0;l1=A[m-1]; for(原创 2017-04-23 20:14:52 · 510 阅读 · 0 评论 -
快速排序
C++void quicksort(int list[],int m,int n) { int key,i,j,k; if( m < n) { k = (m+n)/2; swap(&list[m],&list[k]); key = list[m]; i = m+1; j = n; while(i <= j)原创 2017-04-24 09:31:56 · 188 阅读 · 0 评论 -
堆排序
C++#include <iostream> #include<algorithm> using namespace std;void HeapAdjust(int *a,int i,int size) //调整堆 { int lchild=2*i; //i的左孩子节点序号 int rchild=2*i+1; //i的右孩子节点序号 int max原创 2017-04-25 13:46:55 · 166 阅读 · 0 评论 -
基数排序
Pythondef radixsort(l,num1): l1=[[],[],[],[],[],[],[],[],[],[]] for x in range(0,num1): for y in range(0,len(l)): num=getinpos(l[y],x) l1[num].append(l[y])原创 2017-04-27 15:18:56 · 208 阅读 · 0 评论