快排又称为快速排序算法

快熟排序主要思想为:递归而分,重于分而治,而简与合。

治:

int partition(int A[],int st,int ed){int key = A[st];//把第一个元素作为支点int j = st;//j一直指向小于等于key一类的尾元素for(int i = st + 1; i <= ed;i++){//扫描剩下元素,实现分成两类,一类小于等于key,一类大于等于keyif(A[i] <= key){j++;int temp = A[j];A[j] = A[i];A[i] = temp;}}int temp = A[j];A[j] = A[st];A[st] = temp;return j;
}
分:如何分画一个递归树就一目明了,我们可以知道在递归树中,每一个结点,都要实行“治”。所以有void QuickSort(int A[],int st,int ed){if(st < ed){int mid = partition(A,st,ed);QuickSort(A,st,mid - 1);//两个方向分别搜素所有结点,完成所有治理,完成排序。QuickSort(A,mid + 1,ed);}}
By ACReaper
2013 03 23 

转载于:https://www.cnblogs.com/sixcoder/archive/2013/03/23/3825993.html

QuickSort简解(分治思想) By ACReaper相关推荐

  1. 算法设计与分析:分治思想 - 入门

    文章目录 分治思想 判断分治的条件 分治思想在排序问题的应用 求逆序对的个数 分治总结 本文参考UCAS卜东波老师的计算机算法设计与分析课程完成 分治思想 分治思想可以归纳为两点: 将一个复杂问题化简 ...

  2. 本文专注于lt;递归算法和分治思想[胖虎学习算法系列]

    本文专注于<递归算法和分治思想> 初衷:博主看到网上有很多人贴出各种OJ上的AC代码,很多都会标注上"递归"两字 我刚开始学习递归算法和分治法的时候,苦于没有人写出递归 ...

  3. 【算法】学习笔记(4):分治思想 归并排序

    分治思想,分治策略,自古有之,与人类生活息息相关,其本质是将大问题拆解为小问题,小问题转换为已知解的问题,进而求解. 军队管理,国家分级治理-- 大规模数据排序,例如10000000000万个数,规模 ...

  4. 分治思想应用:数学归纳法、递归、归并排序、MapReduce

    跟黄申老师学数学系列02(python实现) 引言: 数学归纳法(Mathematical Induction).递归.归并排序(merge sort).MapReduce,这些方法或技术都基于一个重 ...

  5. 【PTA】7-2 国王的奖励——分数取模、分治思想、快速幂、int64的乘法模运算【C/C++】

    文章目录 1 问题 1.1 题面描述 1.2 输入描述 1.3 输出描述 1.4 样例描述 1.5 样例解释 2 分析 2.1 数学抽象 2.2 解决方法 2.2.1 等比求和 2.2.1.1 求和公 ...

  6. 006.递归和分治思想

    为什么80%的码农都做不了架构师?>>>    斐波那契数列的递归实现  迭代实现  递归   1.递归 定义 迭代使用的是循环结构. 递归使用的是选择结构. 优点 使用递归 ...

  7. 最新版freetextbox(版本3.1.6)在asp.net 2.0中使用简解

    最新版freetextbox(版本3.1.6)在asp.net 2.0中使用简解 2008-10-14 12:21 简介:对于FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用,只 ...

  8. 最新版FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用简解(提供博客园本地下载)

    来源:cleocn.com 最新版FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用简解(提供博客园本地下载) 简介:对于FreeTextBox(版本3.1.6)在ASP.Net ...

  9. 递归和分治思想及其应用

    目录 递归和分治思想 一些实例 逆序输出字符串 查找数组元祖是否存在 汉诺塔问题 八皇后问题 更多: 递归和分治思想 如果可以使用迭代,尽量别使用递归.由编译原理可以知道,每次自调用的时候,计算机都需 ...

最新文章

  1. 【BZOJ】1013 [JSOI2008]球形空间产生器sphere
  2. Python 字符串判断字母 数字 大小写
  3. mysql半复制_mysql半同步复制
  4. poj 3662 Telephone Lines(好题!!!二分搜索+dijkstra)
  5. 最近发包给朋友,搞定软件小活儿、解决小功能模块的感受
  6. python函数时间,python之时间函数
  7. c语言 段错误 指针,求教为什么指针动态申请了空间,scanf的时候还会段错误
  8. ubuntu 12.04(64位)下搭建android5.0开发环境 (win7 虚拟机)
  9. 用perl过滤文本中的IP和端口
  10. 向云上迁移数据时如何避免停机和中断
  11. android加载图片+背景,Android开发中ImageLoder加载网络图片时将图片设置为ImageView背景的方法...
  12. html登录图片验证码的实现
  13. 接入植物识别功能快速识别万种植物花卉
  14. Java学到什么程度才算精通?(2),学海无涯
  15. 用 Ninja and GN 来加速 C++构建
  16. 威客理论在国际英文期刊发表
  17. 分频器的Verilog实现(偶数分频、奇数分频)
  18. 研究和文献参考丨艾美捷游离脂肪酸荧光法测定试剂盒
  19. 直播SDK加入混响效果,创造演唱会现场沉浸感音效
  20. 《Android开发艺术探索》笔记目录

热门文章

  1. Python参考手册----第一章: Python简介(四)
  2. VUE技术栈学习笔记(https://segmentfault.com/a/1190000012530187)
  3. 3、JMSN~Maven安装
  4. REST Framework 的用户认证组件
  5. 需求实在太旺盛,三星电子考虑扩大在华芯片产能
  6. Redis学习笔记(11)——Redis缓存集群方案
  7. 【转】15个最受欢迎的Python开源框架
  8. ansible内置模块
  9. Java---取得操作系统默认的代理
  10. linux内核的反复--一切都是过程