ngx_connection_local_sockaddr
2026/5/7 22:18:12
一、顺序查找
平均查找长度(ASL):
优化策略:若各结点查找概率不等,将高概率元素前置(按查找概率从大到小排列),可降低平均查找长度,提高效率。
优缺点:
二、二分法查找(折半查找)
适用条件:
核心步骤:
low = 0,high = n-1;low <= high时,计算中点:mid = ⌊(low + high) / 2⌋;high = mid - 1;low = mid + 1;mid;low > high,查找失败,返回失败标志。性能分析:
二分查找的核心是每次通过计算中点位置mid,直接访问中间元素R[mid]R[mid]R[mid],从而将查找区间缩小一半。这种操作要求能在O(1)O(1)O(1)时间内访问任意位置的元素,这只有在顺序存储结构(如数组)中才能实现。
而链表是一种链式存储结构,其特点是:
因此,在链表上进行二分查找时,每次计算mid后仍需花费O(n)O(n)O(n)时间去遍历到该位置,导致整体时间复杂度退化为O(nlogn)O(n \log n)O(nlogn),甚至更差,失去了二分查找高效性的优势。
此外,频繁的中点定位会使算法效率远低于直接使用顺序查找。
✅ 虽然可以通过“跳表”或“双向链表+索引”等方式近似实现类似二分的查找,但这些已不属于传统意义上的二分查找。