数组a[]中有10亿个不同的数,并且按数的升序排列好了,用最快捷简便的方法查到一个数的位置?注意:不能用效率低下的遍历查询 求助啊!
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/02 07:02:41
![数组a[]中有10亿个不同的数,并且按数的升序排列好了,用最快捷简便的方法查到一个数的位置?注意:不能用效率低下的遍历查询 求助啊!](/uploads/image/z/7094292-60-2.jpg?t=%E6%95%B0%E7%BB%84a%5B%5D%E4%B8%AD%E6%9C%8910%E4%BA%BF%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%9A%84%E6%95%B0%2C%E5%B9%B6%E4%B8%94%E6%8C%89%E6%95%B0%E7%9A%84%E5%8D%87%E5%BA%8F%E6%8E%92%E5%88%97%E5%A5%BD%E4%BA%86%2C%E7%94%A8%E6%9C%80%E5%BF%AB%E6%8D%B7%E7%AE%80%E4%BE%BF%E7%9A%84%E6%96%B9%E6%B3%95%E6%9F%A5%E5%88%B0%E4%B8%80%E4%B8%AA%E6%95%B0%E7%9A%84%E4%BD%8D%E7%BD%AE%3F%E6%B3%A8%E6%84%8F%EF%BC%9A%E4%B8%8D%E8%83%BD%E7%94%A8%E6%95%88%E7%8E%87%E4%BD%8E%E4%B8%8B%E7%9A%84%E9%81%8D%E5%8E%86%E6%9F%A5%E8%AF%A2+%E6%B1%82%E5%8A%A9%E5%95%8A%21)
数组a[]中有10亿个不同的数,并且按数的升序排列好了,用最快捷简便的方法查到一个数的位置?注意:不能用效率低下的遍历查询 求助啊!
数组a[]中有10亿个不同的数,并且按数的升序排列好了,用最快捷简便的方法查到一个数的位置?注意:不能用效率低下的遍历查询 求助啊!
数组a[]中有10亿个不同的数,并且按数的升序排列好了,用最快捷简便的方法查到一个数的位置?注意:不能用效率低下的遍历查询 求助啊!
取二分之一的分位点即第5亿个数,如果小于二分之一分位点,就在前5亿个数中继续取二分之一点;如果大于第5亿个数就取后5亿个数,接着用二分法.这样最多需要log_2(10亿)次就能找到了