![]() |
1
4
我猜如果你斜视它,二进制搜索是贪婪的,因为你试图在每一步中尽可能减少搜索空间。它恰好是搜索空间中的一个贪婪算法,其结构使其既高效,又总是可能找到正确的答案。
也就是说,二进制搜索可以在传统的贪婪算法中使用。例如,对于一个包装问题,一个贪婪算法可能会要求您接下来选择“仍然适合的最大可用项”。可以使用二进制搜索来找到它。 相反,可以使用贪心算法创建非常适合二进制搜索的数据结构。参见示例 https://en.wikipedia.org/wiki/Geometry_of_binary_search_trees#Greedy_algorithm |
![]() |
2
3
很容易注意到,在每个步骤中,您都在测试尚未测试的最高有效位,如果它没有溢出结果,则将其添加到部分解中,直到找到最终结果。 因此,可以指出贪婪选择的以下特征:
|
|
Laveen · python中的二进制搜索程序不会停止循环 7 年前 |
![]() |
James Chavez · 二进制搜索查找不重复java的元素 7 年前 |
![]() |
yrrah2 · 为什么我的二进制搜索使用这么多比较? 7 年前 |
![]() |
James · 阻塞问题的一种算法设计[C++代码] 7 年前 |
![]() |
Johnny · 二进制搜索是贪婪算法吗? 7 年前 |