排序算法
- 算法简介
- 排序也称排序算法,排序是将一组数据,依指定的顺序进行排列的过程。(算法建立在数据结构之上,有些问题一个数据结构就能搞定,比如存储一组数。有些问题,需要算法,比如排序,不仅要存储数,而且要把数按顺序存储)
- 分类
- 内部排序(考试、面试重点)
- (使用内存)指需要将处理的所有数据都加载到内部处理器中进行排序。
- 内部排序种类
- 插入排序
- 直接插入排序
- 希尔排序
- 选择排序
- 简单选择排序
- 堆排序
- 交换排序
- 冒泡排序
- 快速排序
- 归并排序
- 基数排序
- 插入排序
- 外部排序
- 数据量过大,数量级达到亿,无法全部加载到内存。需要借助外部存储进行排序。
- 内部排序(考试、面试重点)
- 度量算法执行时间两种方法
- 事后(程序运行之后)统计方法
- 说白了,就是先把程序运行起来,然后看运行时间多少。这种方法,需要运行,运行需要花费时间,对于大量数据来讲,比如10分钟,非常麻烦。并且,并且这种方式,需要在同一台计算机的相同状态下运行,因为不同硬件的计算机,对于同一程序运行效果不一样。总结来看,这种算法有两个不好之处,一个是需要运行等待,第二个,比较算法需要在同一机器的相同状态下跑,这样才有可比性。
- 事前估算的方法
- 通过分析某个算法的时间复杂度来判断那个算法优。
- 事后(程序运行之后)统计方法