在不同的情况下,我们执行不同的搜索方案以找到一些关键字。在本节中,我们将看到顺序搜索和二进制搜索这两种搜索技术之间的基本区别是什么。
顺序搜索 | 二元搜寻 | 时间复杂度为O(n) | 时间复杂度为O(logn) |
在恒定时间内找到出现在第一位置的键 | 在恒定时间内找到位于中心位置的键 |
容器中元素的顺序不受影响。 | 元素必须在容器中排序 |
数组和链接列表可用于实现此目的 | 它不能直接在链接列表中实现。我们需要更改列表的基本规则以实现此目的 |
算法本质上是迭代的 | 算法技术是分而治之。 |
算法易于实现,并且需要较少的代码量。 | 算法有些复杂。它需要更多的代码来实现。 |
在最坏的情况下,需要进行N次比较。 | 在最坏的情况下,比较的Logn个数已足够。 |