线性搜索与二进制搜索
内容
线性搜索和二进制搜索之间的区别在于,在线性搜索中,将检查并比较每个元素,然后将其排序,而在二进制搜索中,将要排序的列表分为两部分,然后进行排序。搜索和排序是计算机编程中的两个主要概念。用于搜索和排序的算法很多,但是用于搜索和排序的两种最常用的算法是线性搜索和二进制搜索。
线性搜索和二进制搜索之间的区别在于这两种算法的工作和效率。与线性搜索算法相比,二进制搜索是一种效率更高的算法。与线性搜索相比,二进制搜索在排序之前比较每个值所需的迭代次数或时间要少。
如果要搜索列表中的数字,有时需要比较和迭代列表中的数值,线性搜索是一种非常复杂的算法。检索列表中的每个元素,并将其与相邻元素进行比较。访问所有元素并进行检查,然后找到正确的元素。如果列表中的最后一个数字是要搜索的数字,则可能是最坏的情况。线性搜索是遍历数组并建立要搜索的元素的方法。如果我们谈论效率,效率就是程序必须运行才能找到该数字的次数。如果我们在第一个位置找到所需的数字,则只需进行一次比较,然后对事物进行排序,但如果没有找到,则必须一次又一次地进行比较,从而浪费了内存。平均而言,比较次数为(n + 1/2)。该技术的最坏情况效率为O(n)表示执行顺序。
与线性搜索相比,二进制搜索非常有效。在这种方法中,将数组分为两部分,与二进制搜索相比,这种比较的次数非常少。与线性搜索相比,二进制搜索的时间也更少。二进制搜索的工作方式是找到数组的中间元素,然后将中间元素与数组的一部分进行比较。可能存在三种可能性,即中间数字可以是我们需要查找的数字,也可以是小于中间数字的数字,也可以是大于中间数字中间的数字。比较次数最多为log(N + 1)。与线性搜索相比,二进制搜索与线性搜索相比是一种有效的算法,但是在进行二进制搜索之前必须对数组进行排序。
内容:线性搜索和二进制搜索之间的区别
- 比较表
- 二进制搜索
- 关键差异
- 结论
- 解释性视频
比较表
基础 | 线性搜寻 | 二进制搜索 |
含义 | 线性搜索检查并比较每个元素,然后进行排序 | 二进制搜索将要排序的列表分为两个部分,然后进行排序。
|
时间复杂度 | 线性搜索的时间复杂度为O(N)。 | 二分查找的时间复杂度为O(log 2 N) |
算法类型 | 线性搜索是迭代的。 | 二进制搜索是分而治之。 |
代码行 | 在线性搜索中,我们需要编写更多代码。 | 在二进制搜索中,我们需要编写更少的代码。 |
线性搜寻
如果要搜索列表中的数字,比较并迭代列表中的值数量,则线性搜索是一种非常复杂的算法。检索列表中的每个元素,并将其与相邻元素进行比较。访问并检查所有元素,然后找到正确的元素。如果列表中的最后一个数字是要搜索的数字,则可能是最坏的情况。线性搜索是遍历数组并建立要搜索的元素的方法。如果我们谈论效率,效率就是程序必须运行才能找到该数字的次数。如果我们在第一个位置找到所需的数字,则只需进行一次比较,然后对事物进行排序,但如果没有找到,则必须一次又一次地进行比较,从而浪费了内存。平均而言,比较次数为(n + 1/2)。这种技术的最坏情况效率是O(n)代表执行顺序。
二进制搜索
与线性搜索相比,二进制搜索非常有效。在这种方法中,将数组分为两部分,与二进制搜索相比,这种比较的次数非常少。与线性搜索相比,二进制搜索的时间也更少。二进制搜索的工作方式是找到数组的中间元素,然后将中间元素与数组的一部分进行比较。
可能存在三种可能性,即中间数字可以是我们需要查找的数字,也可以是小于中间数字的数字,也可以是大于中间数字中间的数字。比较次数最多为log(N + 1)。与线性搜索相比,二进制搜索与线性搜索相比是一种有效的算法,但是在进行二进制搜索之前必须对数组进行排序。
关键差异
- 线性搜索检查并比较每个元素,然后进行排序,而二进制搜索将要排序的列表分为两部分,然后进行排序。
- 线性搜索的时间复杂度为0(N),而二进制搜索的时间复杂度为O(log2N)。
- 线性搜索是迭代的,而二进制搜索是分而治之。
- 在线性搜索中,我们需要编写更多的代码,而在二进制搜索中,我们需要编写更少的代码。
结论
在上面的这篇文章中,我们看到了线性搜索和二进制搜索之间的明显区别。