什么是二进制搜索?(a binary search?)

假设一个人有一个非常大的物品分类,并以某种有序的方式排列成一长排。通过使用二进制搜索,该个人可以快速找出特定对象在行中的位置。此搜索通过检查行中的中间项来完成,如果中间对象不是要搜索的项,则随后仅查找行中可以放置该项的一半中的一个。该人员将知道继续查看哪一半,因为项目是按顺序排列的。这两个步骤在越来越小的一半上一遍又一遍地进行,直到找到物品或者没有地方可看。...

假设一个人有一个非常大的物品分类,并以某种有序的方式排列成一长排。通过使用二进制搜索,该个人可以快速找出特定对象在行中的位置。此搜索通过检查行中的中间项来完成,如果中间对象不是要搜索的项,则随后仅查找行中可以放置该项的一半中的一个。该人员将知道继续查看哪一半,因为项目是按顺序排列的。这两个步骤在越来越小的一半上一遍又一遍地进行,直到找到物品或者没有地方可看。

In the field of computer science, a binary search is a step-by-step procedure that finds the location, or index, of an item in a sequentially sorted set of data.

在计算机科学领域,二进制搜索是一个循序渐进的过程,它在一组按顺序排序的数据中查找项目的位置或索引。它通过将已知值与数组中指定的中间元素进行比较来实现这一点,如果中间元素不相等,则重复将中间元素比较限制为集合中较小的相关一半,直到获得等价或列表用尽为止。

二进制搜索(有时称为半间隔搜索)比基本顺序搜索快得多,基本顺序搜索从项目列表的一端开始,并在搜索过程中对每个项目进行比较,直到找到匹配项或搜索到达列表的末尾。如果一个人在一行中有100个项目,并且最后一个项目是正在查找的项目,则顺序搜索将进行100次比较。然而,二分法最多只需要七次比较就可以找到项目。显然,它比顺序搜索要有效得多。

二进制搜索的最大缺点是必须对项目列表进行排序,才能使此搜索正常工作。对列表进行排序需要时间。然后使用这种类型的搜索进行排序可能比首先执行另一种类型的搜索需要更多的时间。

能够使用信息,特别是来自非常大的数据集的信息,对于完成生活中的许多任务非常重要。计算机科学的学科涉及许多类型的问题,包括寻找有效的方法来搜索信息,从而获得有用的结果。二进制搜索只是可用于搜索数据的许多算法之一。

  • 发表于 2021-12-09 13:36
  • 阅读 ( 101 )
  • 分类:互联网

你可能感兴趣的文章

二叉树(binary tree)和二叉搜索树(binary search tree)的区别

...数据结构类型,其中每个父节点最多可以有两个子节点。二进制搜索树是一个二进制树,其中左侧子节点仅包含值小于或等于父节点的节点,而右侧子节点仅包含值大于父节点的节点。这是关键的区别。与数组等数据结构不同,...

  • 发布于 2020-10-19 12:25
  • 阅读 ( 1068 )

Windows10中自定义cortana的7种方法

... Cortana在搜索框中显示一些默认文本。有一次是“问我什么”。现在是“键入此处搜索”。如果希望看到空白搜索框,可以更改或删除此文本。 ...

  • 发布于 2021-03-23 21:20
  • 阅读 ( 245 )

如何在linux上安全地运行不受信任的可执行文件?

...it might give you a false sense of security without the right opti***. 有什么要补充的解释吗?在评论中发出声音。想从其他精通技术的Stack Exchange用户那里了解更多答案吗?在这里查看完整的讨论主题。 图片来源:监狱囚室剪贴画(Clker.com网...

  • 发布于 2021-04-08 13:43
  • 阅读 ( 166 )

为什么十六进制编辑器被称为二进制编辑器?

...超级用户读者Joseph A.想知道为什么十六进制编辑器被称为二进制编辑器: Hex and binary are two different bases. Hex, as I understand it, is simply an “easier to use” version of binary and more convenient. However, I hear quite often that hex editors are binary editors. I...

  • 发布于 2021-04-09 19:59
  • 阅读 ( 217 )

二叉树(binary tree)和二叉搜索树(binary search tree)的区别

...的电话号码。唯一键以有组织的方式排序,以便可以使用二进制搜索执行查找和其他动态操作。它支持三个主要操作:搜索元素、**元素和删除元素。二叉搜索树允许快速检索存储在树中的元素,因为每个节点键都与根节点进行...

  • 发布于 2021-06-25 04:51
  • 阅读 ( 541 )

位(bits)和字节(bytes)的区别

...了表示数字,现代计算机使用由两个数字(0和1)组成的二进制系统位”是指在这个系统中可以表示的最小数据单位的名称(位代表“二进制数字”)。i、 例如,在二进制数字方面,一个位由0或1组成。在组成计算机的电子设备...

  • 发布于 2021-06-27 07:22
  • 阅读 ( 264 )

线性搜索(linear search)和二进制搜索(binary search)的区别

...数组)中查找元素的操作。有两种搜索类型:线性搜索和二进制搜索。线性搜索按顺序逐个检查数组中的元素,以查找数组中是否存在所需项。另一方面,二进制搜索是一种比线性搜索更有效的算法,因为它通过将项目与中间元...

  • 发布于 2021-07-01 09:42
  • 阅读 ( 1520 )

线性搜索(linear search)和二进制搜索(binary search)的区别

线性搜索和二进制搜索的区别在于,在线性搜索中,每个元素都要经过检查和比较,然后进行排序;而在二进制搜索中,要排序的列表被分成两部分,然后进行排序。搜索和排序是计算机程序设计中的两个主要概念。许多算法...

  • 发布于 2021-07-08 11:05
  • 阅读 ( 240 )

布尔值(boolean)和二元的(binary)的区别

...用于逻辑演绎系统,称为布尔代数。在数学和计算机中,二进制是指一个以2为基数的数字符号。它由两个值0和1组成。这些数字使用位值结构进行组合以生成等效的数值。因此,两者基于相同的基本概念,但用于不同系统的上下...

  • 发布于 2021-07-13 16:35
  • 阅读 ( 376 )

线性搜索(linear search)和二进制搜索(带比较表)(binary search (with comparison table))的区别

...恰好为O(n)。其中n是输入范围内的元素数。 什么是二进制搜索(binary search)? 二进制搜索是从已排序的项目列表中查找项目的有效算法。它的工作原理是将列表中可能包含该项的部分重复划分为一半,直到您将可能的位置...

  • 发布于 2021-11-27 13:27
  • 阅读 ( 214 )
kdnsjyfuwh
kdnsjyfuwh

0 篇文章