数据结构与算法
舟84
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
快速排序的优化方法
//分为{<v}部分和{>=v}部分template<typename T>int __partition(T arr[], int l, int r){ //优化一:采用随机数,避免近乎有序的数组使得快排递归树平衡度过低而退化为O(n^2) swap(arr[l], arr[rand() % (r - l + 1) + l]); T v = arr[l]; //arr[l+1...j] < v;arr[j+1...i] > v int j = l;原创 2020-07-07 15:52:49 · 211 阅读 · 0 评论 -
自顶向下归并排序的两种优化方式
template<typename T>void __merge(T arr[], int l, int mid, int r){ T *aux = new T[r - l + 1]; for (int i = l; i <= r; i++) aux[i - l] = arr[i]; int i = l, j = mid + 1; for (int k = l; k <= r; k++) { if (i > mid) { arr[k] = aux[j原创 2020-07-07 10:36:06 · 221 阅读 · 0 评论
分享