# 请问大家一个有关 " 二分搜寻法 " 的问题!! ( 急!! )

Posted by 小 B on November 24, 1999 at 18:41:34:

如果我现在有 " 8 个变数 ( 都是 Double 的资料型态!! ) "，第一个到第八个分别为：" a(1) = 0.1234、a(2) = 0.5234、a(3) = 0.7234、a(4) = 1.46、a(5) = 1.3734、a(6) = 2.7、a(7) = 4.3749、a(8) = 4.1115 " !!
假设我所需要的资料是 " a(5) = 1.3734 "，可是却因为 " a(4) > a(5) " 而造成无法判断 a(4) 应该是要当 " 上标数 " 还是要当 " 下标数 " !!
我知道如果使用 " 循序搜寻法 " 或 " 在用二分搜寻法之前先排序 " 就可以顺利的找到我所要的那一组答案了，可是因为我要搜寻的资料高达 " ( ( 2 ^ 129 ) - 1 ) 组以上 " ( 因为必须要把 " 速度 " 给考虑进去，所以是 " 不可能也不可以 " 使用 " 循序搜寻法 " 或 " 在用二分搜寻法之前先排序 " !! )，所以只有用 " 二分搜寻法 " 才可以解决 " 速度 " 上的问题，但是却会发生 " 好多组 " 如同以上无法判断某个变数是应该要当 " 上标数 " 还是要当 " 下标数 " !! ( 可是我又不可能把每一种状况都试一次，因为我如果把每一种状况都试一次的话，那这样不但失去了 " 二分搜寻法 " 的意义，而且还会把速度给 " 严重 " 的拖慢下来!! )
所以我想要请问大家有什么 " 方法 " 可以解决以上「无法判断某个变数是应该要当 " 上标数 " 还是要当 " 下标数 "」的问题，或是有什么更好的 " 搜寻法 " 可以解决以上「无法判断某个变数是应该要当 " 上标数 " 还是要当 " 下标数 "」的问题，而且速度又可以跟 " 二分搜寻法 " 差不多或是更快??

Follow Ups: