随笔分类 - 算法
摘要:不相交集的类架构class DisjSets{public: explicit DisjSets(int numElement); int find (int x) const; int find (int x); void unionSets1(int root1,int ...
阅读全文
摘要:谢尔排序属于亚二次时间界,通过比较距离一定间隔的元素来工作,各趟比较所用的距离随时间算法的进行而减小,直到只比较相邻元素的最后一趟排序为止。template void shellsort(vector& a){ for(int gap=a.size()/2;gap>0;gap/=2) f...
阅读全文
摘要:最简单的排序算法之一就是插入排序,插入排序的平均时间是O(N²)template Comparable insertionSort(vector& a){ int j; for(int p=1;i0&&tmp<a[j-1];j--) a[j]=a[j-1]; ...
阅读全文