“《算法导论》之‘查找’”:顺序查找和二分查找
顺序查找对于有序序列/链表和无序序列/链表都可行,但二分查找就只能对有序序列进行查找了。二分查找在查找时速度较快(lgN),不过它对序列的有序要求会导致节点插入时间的增加(相对无序序列/链表)。
《算法》总结了一个表如下:
算法(数据结构) |
最坏情况下的成本 (N次插入后) |
平均情况下的成本 (N次随机插入后) |
是否高效地支持有序性相关的操作 |
||
查找 |
插入 |
查找 |
插入 |
||
顺序查找(无序链表) |
N |
N |
N/2 |
N |
否 |
二分查找(有序数组) |
lgN |
2N |
lgN |
N |
是 |
相关的程序代码请参考Github.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步