问题标签 [binary-search]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3006 浏览

c# - C# Array.BinarySearch 问题

谁能解释为什么会这样?IE。即使 175 存在于位置 7 的数组中,array.binarysearch 是否返回负值?

请看这张图片:

代码 http://www.freeimagehosting.net/uploads/555fef4560.jpg

0 投票
7 回答
4565 浏览

c - 在 C 中对文件运行二进制搜索的最快方法?

例如,假设我想在文件中查找特定的单词或数字。内容按排序顺序(显然)。由于我想对文件运行二进制搜索,因此将整个文件复制到数组中然后运行二进制搜索似乎真的是浪费时间......我已经有效地将其设为线性时间算法,因为我'在运行搜索之前,我必须花费 O(n) 时间复制该死文件。

有没有更快的方法来做到这一点?是否有类似 lseek 的东西可以使用行而不是字节?

如果没有,我是否最好只进行线性搜索(假设我在整个程序期间只运行一次搜索)?

0 投票
2 回答
2670 浏览

c - C中的二分搜索,递归函数只接受长度

我正在解决“编程珍珠”练习。4.11 说:

使用以下声明编写并证明 C 或 C++ 中递归二进制搜索函数的正确性:

int binarysearch(DataType x[], int n);

单独使用此功能;不要调用任何其他递归函数。

我想出了:

但是 - 有问题。我返回包括数组地址的偏移量,否则如何知道元素与原始数组的相对偏移量?

所以我需要这个包装器:

它不是递归的——它只是调用bsearch_rec_array_only和计算偏移量。

但这似乎很复杂。你能找到更好的解决方案吗?

0 投票
5 回答
15730 浏览

c# - 订购集合时LINQ可以使用二进制搜索吗?

当我尝试搜索的集合被排序时,我能否以某种方式“指示”LINQ 使用二进制搜索。我正在使用ObservableCollection<T>, 填充有序数据,并且我正在尝试使用Enumerable.First(<Predicate>)。在我的谓词中,我按我的集合排序依据的字段的值进行过滤。

0 投票
4 回答
19396 浏览

vba - Excel 查找速度与 VBA 二进制搜索?

Excel VBA 的查找与二进制搜索的好/快?我的平台是 Office 11|2003,我将在三张值上针对 A 列搜索字符串。总行数 ~140,000

如果值得我应该参考哪些库和函数来进行排序然后进行二进制搜索?据报道,二进制搜索字符串/文本存在潜在问题。

...必须注意一件事。对 sortedtext 使用二分搜索公式需要谨慎。 Aladin A.,Excel MVP

Excel 查找:

0 投票
3 回答
2646 浏览

c++ - 如何为 C/C++ 编写二进制算法

我无法用 C/C++ 编写二进制算法。
我的问题是这样的:

应用二进制算法在数字猜谜游戏中搜索从 1 到 100 的数字。
用户将回答“y”以表示正确猜测,“h”如果猜测太高,或者“l”如果猜测太低。

我没有任何想法来应用它。谁能给我一个代码示例。

0 投票
3 回答
13815 浏览

algorithm - 对未排序数组进行二分搜索?

我遇到了这个文档Binary Search Revisited,作者已经证明/解释了二进制搜索也可以用于未排序的数组(列表)。在第一次阅读时,我并没有深入了解该文件的大部分内容。

你们中有人已经探索过这个吗?

0 投票
2 回答
4365 浏览

java - 为什么 Collections.binarySearch() 不能与这个可比的?

我有这个Player实现Comparable接口的类。然后我有一个ArrayLists Player。我试图binarySearch()在 s 的列表中Player找到一个Player,但 Java 给了我一个“ cannot find symbol: method binarySearch(java.util.ArrayList< Player>,Player)”。

这是 Player 类:

奇怪的是,当我在同一个列表上尝试 Collections.sort() 时,它起作用了。

0 投票
1 回答
768 浏览

c# - C# 二分搜索变体

列表已排序。

我有一个列表,我想对其进行二进制搜索。T 有 StartIndex、EndIndex 等成员。

我可以使用 StartIndex 对列表进行二进制搜索,即:我为此实现了 IComparable。

我需要将其稍微扭曲如下:我想找到一个可能是 OffBy 小值的 StartIndex。

例如:T.StartIndex= 100

如果输入是 101 并且 OffBy 1 那么 BinarySearch 应该返回这个对象。

我怎样才能做到这一点?

顺便说一句,我问如何使用 List 具有的默认二进制搜索方法。这就是我感兴趣的,对自定义二进制搜索实现不感兴趣。

0 投票
1 回答
429 浏览

c# - 2 个索引上的 C# 二分搜索

我有一个带有属性的对象;开始索引,结束索引

通过实现以下内容,我可以基于 startIndex 进行二进制搜索:

但是,对于相同的重复对象,我也想分别在结束索引上进行二进制搜索。

我怎样才能做到这一点 ?

谢谢。