📜  线性搜索与二进制搜索

📅  最后修改于: 2021-04-29 14:11:43             🧑  作者: Mango

先决条件:

  • 线性搜寻
  • 二元搜寻

线性搜索一次扫描一个项目,而没有跳到任何项目。

  1. 最坏情况下的复杂度是O(n),有时也称为O(n)搜索
  2. 随着元素数量的增加,搜索元素所花费的时间也不断增加。

但是,二分搜索会在找到排序列表的中间时立即将搜索减半。

  1. 查找中间元素以检查其是否大于或小于要搜索的值。
  2. 因此,将搜索给定列表的一半

重要差异

  • 输入数据需要在二进制搜索而不是线性搜索中排序
  • 线性搜索进行顺序访问,而二进制搜索则随机访问数据。
  • 线性搜索的时间复杂度为-O(n),二进制搜索的时间复杂度为O(log n)。
  • 线性搜索执行相等比较,二进制搜索执行顺序比较

让我们看一个比较两者的示例:

线性搜索,从AX中找到给定排序列表中的元素“ J”

线性搜索

二进制搜索,从AX中找到给定排序列表中的元素“ J”

二元搜索