快拍算法
来源:互联网 发布:数据库去掉重复行 编辑:程序博客网 时间:2024/04/26 17:33
在快速中采用了分治的策略,复杂度:O(nlogn)
1、选择一个比较值(pivot):.我们将中间元素的值作为数据比较值, 但它可以是任何值 (在排序值的范围内),即使它在数组中不存在。
2、分区:以这种方式重新排列元素, 即所有小于pivot的元素都将转到该数组的左部分,所有大于pivot的元素请转到该数组的右侧部分。
3、对两个部分进行递归快排算法
void quickSort(int arr[], int left, int right) {
int i = left, j = right;
int tmp;
int pivot = arr[(left + right) / 2];
/* partition */
while (i <= j) {
while (arr[i] < pivot)
i++;
while (arr[j] > pivot)
j--;
if (i <= j) {
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
i++;
j--;
}
};
/* recursion */
if (left < j)
quickSort(arr, left, j);
if (i < right)
quickSort(arr, i, right);
}
- 快拍算法
- 快拍
- 快拍 bt
- 模版快拍
- 算法----快排算法
- 快排算法
- 快排序算法
- 快排算法
- 快排算法
- 快排算法cmp
- 快排算法
- 算法导论--->快排
- 排序算法--快排
- 快排算法quickSort
- 快排算法
- 随机快排算法
- [算法]快排
- c#快排算法
- 十一.ARM裸机学习之定时器、看门狗和RTC时钟
- 公用表表达式(CTE) with as
- BZOJ 2750: [HAOI2012]Road
- BeautifulSoup 4.4.0官方文档学习小结
- ora-12910 不能设置默认表空间的问题
- 快拍算法
- 动态规划
- 操作系统学习-4. 进程控制
- 头文件补充内容
- kinect studio的使用方法,模拟kinect2实物进行程序测试
- 机器学习笔记(九) 神经网络的学习
- Spring Cloud | Spring Cloud Bus 使用kafka消息总线、gitlab添加webhooks实现自动刷新配置
- 仿淘宝购物车
- HDU 2222 Keywords Search