10.4. 小结¶
- 线性查找通过遍历数据结构并进行条件判断来完成查找任务。
- 二分查找依赖于数据的有序性,通过循环逐步缩减一半搜索区间来实现查找。它要求输入数据有序,且仅适用于数组或基于数组实现的数据结构。
- 哈希查找利用哈希表实现常数阶时间复杂度的查找操作,体现了空间换时间的算法思维。
- 下表概括并对比了三种查找算法的特性和时间复杂度。
线性查找 | 二分查找 | 哈希查找 | |
---|---|---|---|
适用数据结构 | 数组、链表 | 有序数组 | 数组、链表 |
时间复杂度(查找,插入,删除) | \(O(n)\) , \(O(1)\) , \(O(n)\) | \(O(\log n)\) , \(O(n)\) , \(O(n)\) | \(O(1)\) , \(O(1)\) , \(O(1)\) |
空间复杂度 | \(O(1)\) | \(O(1)\) | \(O(n)\) |