我正在学习二分查找,基本定义从对第一个元素的迭代器和对最后一个元素的另一个迭代器开始。您还有一个关键字,这是您要查找的元素。首先将关键字与中点的值进行比较,然后根据关键字是大于还是小于中点的值而消除上半部分或下半部分。该过程继续进行直到找到匹配项。
这种方法是否需要容器已排序?否则,我不明白如何通过比较容器中的关键字和值来消除容器的部分以查找并且它有什么特殊用途。
这种方法是否需要容器已排序?否则,我不明白如何通过比较容器中的关键字和值来消除容器的部分以查找并且它有什么特殊用途。
是的,它可以。
在计算机科学中,二分查找或半间隔搜索算法可以在按键值排序的数组中查找指定输入值(搜索“关键字”)的位置。
来源:维基百科:二分查找算法,但任何其他合适的算法文本都应该提到数组必须是已排序的。