线性搜索和二分搜索的区别
computer programmingprogrammingmiscellaneous
在本文中,我们将了解线性搜索和二分搜索的区别。
线性搜索
它从头到尾搜索数组/列表。
将数组/列表中的每个元素与需要搜索的元素进行比较。
它会一直搜索到列表的末尾。
如果找到该元素,则返回一条带有索引的消息。
如果未找到该元素,则返回相关消息。
元素不需要按特定/排序顺序排列。
它可以在任何线性数据结构上实现,例如数组、链接列表。
它基于顺序方法。
最好将其用于小型数据集。
当数组/列表的大小很大时,效率会降低。
查找元素的最坏情况复杂度为 O9n),其中"n"是元素的数量。
查找元素的最佳复杂度为 O(1)。
它可以用于单维和多维数组。
二分查找
要执行二分查找的数组应该是已排序的。
首先找到中间元素,即可找到要搜索元素的位置。
中间元素是数组/列表的第一个索引和最后一个索引的平均值。
它只能用于具有双向遍历的数据结构。
它基于分而治之的方法。
它用于大型数据集。
它更高效大型数据集。
最坏情况复杂度为 O(log2n),其中"n"是数组的大小。
查找元素的最佳情况复杂度为 O(1)。
它只能在多维数组上实现。