假设一个人有一个非常大的项目组合,并以某种有序的方式排列在一个长行中。这个人可以通过使用二进制搜索快速地找出一个特定对象在行中的位置。这种搜索是通过检查行中的中间项来完成的,如果中间的对象不是所要查找的项...
假设一个人有一个非常大的项目组合,并以某种有序的方式排列在一个长行中。这个人可以通过使用二进制搜索快速地找出一个特定对象在行中的位置。这种搜索是通过检查行中的中间项来完成的,如果中间的对象不是所要查找的项,此后,只需查看行中项目所在的一部分。由于项目是按顺序排列的,因此该人员会知道该继续查找哪一半。这两个步骤一遍又一遍地在越来越小的一半上执行,直到找到项目或找不到地方可看在一个科学的步骤中,一个搜索的步骤是在一个科学的步骤中,按顺序找到一个索引项集在计算机科学领域,二元搜索是一个循序渐进的过程,它通过将已知值与数组中指定的中间元素进行比较来实现这一点,如果它不是等价的,反复地将中间元素的比较限制到集合的较小的相应的一半,直到得到等价物或列表用尽为止。一种二进制搜索,有时称为半间隔搜索,比基本的顺序搜索快得多,后者从项目列表的一端开始,一路比较每个项目,直到找到匹配项或搜索到列表的末尾如果一个人在一行中有100个项目,而最后一个项目是正在查找的项目,则顺序搜索将需要100个比较。然而,对分方法最多只需要进行7次比较就可以找到项目,显然比顺序搜索的效率要高得多二进制搜索的最大缺点是必须对项目列表进行排序才能进行此搜索。排序列表需要时间。排序然后使用此类型的搜索可能比首先执行其他类型的搜索花费更多的时间能够使用信息,特别是来自非常大的数据集,对于完成生活中的许多任务是很重要的。计算机科学的学科涉及许多类型的问题,包括寻找有效的方法来搜索信息,从而获得有用的结果二进制搜索只是搜索数据的许多算法中的一种
-
发表于 2020-07-31 12:42
- 阅读 ( 914 )
- 分类:电脑网络