关于一些基础算法

一、查找算法
1、顺序查找:从头到尾逐个比较。
优点:对数据没有要求,算法稳定。
缺点:效率低,不适合大规模数据的查找。
2、二分查找:数据必须是有序的,然后与中间值比较,比中间大则向右半部分查找,比中间值小则向左半部分查找。
优点:效率高(极高)。
缺点:数据必须先进行排序。
3、块查找:类似于查找英文词典。

二、排序算法
1、冒泡:对数据的有序性是敏感,一旦排序完成会立即停止,如果待排序的数据是基本有序的,它的排序效率是非常高的。
也是实现最简单的排序,代码不易出错,安全性高。
2、插入:在已经排序好的数据中插入新的数据,合适用此方法排序。
3、选择:是冒泡排序的变种,不是正统的排序方式,但代码简单。
4、快速:在所以排序算法中平均速度最快的一种。
5、归并:把待排序的数据拆分成不可再拆分的数据对,再1:1合并在一起,形成2:2,然后再把2:2合并在一起形成4:4,直到数组排序完成。
6、堆:把待排序的数据看一个完全二叉树
arr[i] 根
arr[i2+1] 左
arr[i
2+2] 右
len/2 是后一个不是叶子结点的结点。

猜你喜欢

转载自blog.csdn.net/weixin_44041847/article/details/88863448
今日推荐