有趣的排序算法—入门介绍
来源:互联网 发布:kindle电子书软件 编辑:程序博客网 时间:2024/05/29 18:52
一:排序概念:
排序其实是对关键字进行递增或递减顺序对一组记录重新进行排列的操作。即已知一序列,对其中的关键字进行从有序表到有序表的转换。
二:排序分类:
依据排序过程中记录多占用的存储设备进行分类,结构见下图:
冒泡排序模型:前提对一无序表中10个数进行排序
循环设计:
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7
1 2 3 4 5 6
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
选择排序模型:
循环设计:
1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9
3 4 5 6 7 8 9
4 5 6 7 8 9
5 6 7 8 9
6 7 8 9
7 8 9
8 9
9
插入排序模型:
循环设计:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9
三:算法分析- 待排序的记录个数
- 记录本身大小
- 关键字的结构基初始状态
- 对排序稳定性的要求
- 存储结构
对于算法的改进可以从时间复杂度和这空间复杂度两个方面考虑
简单介绍一下:(来源百度百科)
时间复杂度和空间复杂度统称为算法复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。(算法的复杂性体现在运行该算法时的计算机所需资源的多少上,计算机资源最重要的是时间和空间(即寄存器)资源,因此复杂度分为时间和空间复杂度)。
'排序算法的时间复杂度动态示意图
1 0
- 有趣的排序算法—入门介绍
- 有趣直观的排序算法
- 【算法题】有趣的排序
- 一个有趣的排序算法—睡眠排序
- 一个有趣的排序算法—睡眠排序
- 一个有趣的排序算法视频
- 两个个有趣的排序算法
- “非常规,但有趣” 的排序算法
- [算法入门]闰年判断(有趣的做法)
- 搜集一些有趣的排序算法,持续更新
- 有趣的一种排序
- 几个有趣的排序
- 牛客网 有趣的排序
- 有趣的排序
- 【百度】有趣的排序
- c++有趣的排序
- [百度]有趣的排序
- 有趣的排序
- iOS 【UIKit-UITableViewCell的重用方式&static】
- 毕业论文格式编辑技巧
- JSP学习
- 自平衡电动车离上路至少还差一大步!
- 第一章:Linux是什么
- 有趣的排序算法—入门介绍
- 顺序表的初始化、插入、删除
- 2016/6/3 1004. C++:Instance of
- SICP Montecarlo
- c++中static_cast是干嘛的啊?
- JavaScript之DOM HTML
- cout << string 编译错误
- Git fetch和git pull的区别
- 剑指Offer----面试题16:反转链表