排序算法
来源:互联网 发布:python re group 编辑:程序博客网 时间:2024/06/09 14:17
排序算法
一般Java中进行排序会直接调用Collection接口,但是算法的基本原理还是要懂的:
先看一下都有都有什么排序
排序算法
直接排序
把序列分为有序和无序两部分
默认序列第一个记录是有序的,
a.把序列分为有序和无序两部分,默认第一个记录为有序
b.设立监视哨兵在最后一般第一个数当哨兵,其实不要哨兵也可以,
c.哨兵的作用是判断数组边界,防止数组下标越界
如下图:
对49,38,65,97,76,13,27进行直接排序
希尔排序
希尔排序又叫缩小增量排序,
gap步长,每次为原来的一般
gap1=4
gap2=2
gap3=1
举例:13 27 49 55 04 38 65 97 76
gap=9/2=4
如下图:
对27 49 55 04 38 65 97 76 进行希尔排序
注:网上找不到合适的例子,自己写了一个算了一遍
简单选择排序
从序列中找出最小的数,如果不是第一个元素就与第一个元素互换,
然后在剩下序列中找出最小的,一次类推,直到将当前第 i 小的元素放在位置 i 上
堆排序
分为小堆和大堆下图是小堆
大堆比较好理解,这里放的是小堆的计算过程
冒泡排序
像压强或气泡一样,大的沉下去,小的浮上来
快速排序
首先选取一个中轴值,将序列分为两部分,从两边节点想中间靠拢
好像折纸一样,二分之一,又二分之一,有二分之一。。。
如下图:
46 30 82 90 56 17 95 15 共8个元素
目录
- 排序算法
- 排序算法
- 直接排序
- 希尔排序
- 简单选择排序
- 堆排序
- 冒泡排序
- 快速排序
- 目录
- 排序算法
阅读全文
0 0
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- Java输入一个字母,输出其前后的字母
- 有没有大神能够逐行解释一下代码?Delphi
- 网易邮箱——fullpage
- Java数据库连接池详解
- [noip2011]聪明的质监员
- 排序算法
- Kafka:High level consumer vs. Low level consumer
- Keyboard Row(leetcode)
- S
- C++创建多级目录
- 腾讯云CVM服务器安装宝塔面板 快速安装可视化网站管理环节
- 1.2.在linux环境实践,使用vim编写一个程序,然后使用gcc查看【预处理】、【编译】、【汇编】、【链接】各阶段文件的内容。并熟悉相关指令。
- javascript----原型总结(2)(显示原型与隐式原型)
- 发布包到应用市场前,检验版本号等信息