线性搜索和二分搜索的区别
在这篇文章中,我们将了解线性搜索和二分搜索的区别。
线性搜索
它从数组/列表的开头到结尾进行搜索。
数组/列表中的每个元素都与需要搜索的元素进行比较。
它一直搜索到列表的末尾。
如果找到该元素,则返回一条包含索引的消息。
如果未找到该元素,则返回相关消息。
元素不需要以特定/排序的顺序排列。
它可以实现于任何线性数据结构,如数组、链表。
它基于顺序方法。
建议将其用于小型数据集。
当数组/列表的大小很大时,它的效率较低。
查找元素的最坏情况复杂度为 O(n),其中‘n’是元素的数量。
查找元素的最佳情况复杂度为 O(1)。
它可以用于一维和多维数组。
二分搜索
要执行二分搜索的数组必须已排序。
要搜索的元素的位置是通过首先找到中间元素来确定的。
中间元素是数组/列表第一个索引和最后一个索引的平均值。
它只能用于具有双向遍历的数据结构。
它基于分治法。
它用于大型数据集。
它在大型数据集上效率更高。
最坏情况复杂度为 O(log2n),其中‘n’是数组的大小。
查找元素的最佳情况复杂度为 O(1)。
它只能在多维数组上实现。
广告