|
|
假设你在实现一个函数, 这个函数在一个给定的数组中查找某个给定的值.
a. 在什么情况使用函数时, 线性查找的实现比二分查找的实现具有更高的效率?
b. 为了能在任何环境下, 你的查找算法都可以更加高效的执行, 你应该如何(使用什么算法)实现这个函数呢?
c. 假设在这里, 我们并不是查找用户给定的值, 而是查找第一个0出现的位置, 那么要在什么样的条件下, 线性查找才能比二叉查找更有效呢?
d. 假设我们现在的查找范围不再是用户给出的数组, 而是一个具体的数组, 但查找值仍然是用户指定的. 假设函数is_prime为了判断某个小于1000的数字是否是素数, 需要查找一组所有小于1000的素数. 那么以这个假设为前提, 在什么样的条件下, 线性查找才能比二叉查找具有更高的效率?
(c++代码设计与重用Page8)
呼...终于打完了..
声明一下, 我没有答案.
无聊的人一起来做吧hiahia~~
[em3] |
|