Python里面几种排序算法的比较,sorted的底层实现,虽然我们知道sorted的实现方式,但是却写不出这样的速度
算法与数据结构基础
查找算法:
二分查找法:
简介:二分查找法又被称为折半查找法,用于预排序的查找问题
过程:
- 如果在列表a中查找元素t,先将列表a中间位置的项与查找关键字t比较,如果两者相等,则成功。
- 否则,将表分为前后两个子表
- 如果中间位置大于t,则进一步查找前一子表,否则,查找后一子表
- 重复上述过程
优劣:
- 时间复杂度为O(log~2~N),比较快
- 缺点就是必须是有序列表
排序算法:
冒泡排序
简介:两两比较大小,如果不满足升序关系,则交换
过程:略
优劣::
- 时间复杂度为O(N^2^),速度较慢
- 稳定
选择排序
简介:找出最小值,然后放入一个新的列