先决条件:
- 线性搜寻
- 二元搜寻
线性搜索一次扫描一个项目,而没有跳到任何项目。
- 最坏情况下的复杂度是O(n),有时也称为O(n)搜索
- 随着元素数量的增加,搜索元素所花费的时间也不断增加。
但是,二分搜索会在找到排序列表的中间时立即将搜索减半。
- 查找中间元素以检查其是否大于或小于要搜索的值。
- 因此,将搜索给定列表的一半
重要差异
- 输入数据需要在二进制搜索而不是线性搜索中排序
- 线性搜索进行顺序访问,而二进制搜索则随机访问数据。
- 线性搜索的时间复杂度为-O(n),二进制搜索的时间复杂度为O(log n)。
- 线性搜索执行相等比较,二进制搜索执行顺序比较
让我们看一个比较两者的示例:
线性搜索,从AX中找到给定排序列表中的元素“ J”
二进制搜索,从AX中找到给定排序列表中的元素“ J”