目录
排序
排序:也称排序算法(Sort Algorithm),是将一组数据按指定的顺序进行排列的过程
一.分类
1.内部排序
指将需要处理的所有数据都加载到内存存储器中进行排序
1)插入排序:①.直接插入排序 ②.希尔排序
2)选择排序:①.简单选择排序 ②.堆排序
3)交换排序:①.冒泡排序 ②.快速排序
4)归并排序
5)基数排序
2.外部排序
由于数据量过大无法全部加载到内存中,需要借助外部存储来进行排序
二.时间复杂度
时间复杂度越大,算法执行效率越低
可以:①.忽略常数项 ②.忽略低次项 ③.忽略系数
1.常见的时间复杂度
①.常数阶 O(1)
无论代码执行了多少行,它并不会因为某个变量的增长而增长,只要是没有复杂结构,它的时间复杂度就是 O(1)
②.对数阶 O(logaN)
③.线性阶 O(n):for循环里面会执行n遍,消耗的时间会随着n的变化而变化
④.线性对数阶 O(nlogaN):将 对数阶 O(logaN) 循环 n 遍
⑤.平方阶 O(n^2):两层 for 循环
⑥.立方阶 O(n^3):三层 for 循环
⑦.多次方阶 O(n^?):?层 for 循环
⑧.指数阶 O(a^n)
2.空间复杂度(Sp Complexity)
①.算法所消耗的存储空间
②.在运行过程中临时占用存储空间的大小,需要占用的空间随n的增大而增大