标签:
核心数学式:f(n) = F + f([0,n/2]) + f([n/2,n])
思路:
例子:快排、二叉树遍历、最近点对、大整数乘法
/* * 快排 * */ #include <iostream> template <class T> void qQsort(const T[] array, int start, int end) { if (end - start > 5) { int median = (start + end) / 2; swap(array, start, median); int i = start, j = end; T pivot = array[start]; while(j > i && array[j] > pivot) j--; while(i < j && array[i] < pivot) i++; if(i < j) swap(array, i, j); qQsort(array, start, median-1); qQsort(array, median+1, end); } else { /* 数量少时用插入排序效果更好 */ } }
标签:
原文地址:http://www.cnblogs.com/johnchow/p/4681921.html