经典算法之快速排序
来源:互联网 发布:搜索引擎优化的优缺点 编辑:程序博客网 时间:2024/05/01 21:54
说明:
快速排序是目前公认最快的排序方法之一。大部分情况都表现得很好,但当必须考虑最坏情况时,快速排序不可接受,因为时间达到O(n2)。
思路:
快速排序的基本思想是在数列中找出适当的轴心,将数列分成左右两部分(左半部分的元素都小于右半部分的元素),然后分别对两部分进行排序(重覆选择轴心,划分左右部分的过程)。
以中间元素为轴(用p表示)进行处理的步骤:
1、 令索引i从左向右找,直到找到大于p的数。
2、 令索引j从右向左找,直到找到小于p的数。
3、 如果i>=j,跳到第五步。
4、 否则,交换i、j两处元素的值。
5、 对左边重覆上面的步骤。
6、 对右边重覆上面的步骤。
注意:轴心的选择对快速排序的效率有影响,但以中间元素为轴心的算法较容易理解。
核心代码:
全部代码:
- 经典算法之快速排序
- 经典算法之快速排序
- 经典算法之快速排序
- 经典算法之快速排序
- 经典算法之快速排序
- 经典排序算法之快速排序
- c--经典算法之排序---快速排序
- 经典算法学习:排序之快速排序
- 经典排序算法之快速排序
- 经典排序算法之快速排序
- 经典排序算法之快速排序
- 经典排序算法之:快速排序
- 经典算法之快速排序算法
- 【排序算法】经典排序算法之快速排序
- 经典算法之——快速排序
- 经典算法整理之快速排序
- java经典算法之快速排序
- 递归算法经典之快速排序
- StructLayout类 与 DllImport
- Seam CRUD应用程序构架
- ORACLE 中按汉语拼音对某字段进行排序
- this指针
- ORACLE 得到某天为星期几的函数
- 经典算法之快速排序
- 上下文相关的组件模型
- String str = "12,13,14。15">>>>>>>>>>中的数字转成数组储存
- 经典算法之鸡尾酒排序
- ubuntu 切换到 root身份
- ORACLE 返回1-100的记录的SQL写法
- 五一,C#资源管理器
- 页面之间传递参数
- OpenGL 坐标变换 (转)