关于二分查找练习题

2025-02-25 19:10:29
推荐回答(1个)
回答1:

1. 查找长度为1的有1个,2的有2个,3的有4个, 然后剩下的2个就是查找长度为4的, 所以查找长度的总和是 1 + 2*2 + 3* 4 + 4 * 2 = 25
平均就是 25/9

2. 这个问题问的够无聊的, 有些事情是实现决定的。 比如说长18的串a ,第一次找的是 a[8]还是a[9]? 都是合理的二分法。
假设是找一半稍多点的那个吧。 那么第一次找 a[9],第二次找a[14], 然后第三次找 a[16] 第四次找 a[15] 所以15的查找长度是4.
如果程序实现跟上面的假设不一致,那就可能差距很大了