二分查詢又稱折半查詢 ,它是一種效率較高的查詢方法。
【二分查詢要求】:
1.必須採用順序儲存結構
2.必須按關鍵字大小有序排列。
【優缺點】折半查詢法的優點是比較次數少,查詢速度快,平均效能好;
其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經常變動而 查詢頻繁的有序列表。
【演算法思想】首先,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功;否則利用中間位置記錄將表分成前、後兩個子表,如果中間位置記 錄的關鍵字大於查詢關鍵字,則進一步查詢前一子表,否則進一步查詢後一子表。
重複以上過程,直到找到滿足條件的記錄,使查詢成功,或直到子表不存在為止,此時查詢不成功。
php例子:
<?php
$a=range(0,146);
$high=count($a) - 1;
$mid=0;
$low=0;
$found=0;
$m=89; //需要查詢的值
while( ($low<=$high) && ($found==0))
$i++;
} echo "共進行了次查詢\n
\n";
echo "找到的下標是 \n
\n";
echo "找到標誌位 \n
\n";
?>
查詢演算法 二分查詢法 折半查詢
二分查詢也稱折半查詢 binary search 它是一種效率較高的查詢方法。但是,折半查詢要求線性表必須採用順序儲存結構,而且表中元素按關鍵字有序排列。大家都應該玩過猜數字的遊戲吧?給定乙個數字的範圍 1 100 隨機抽取乙個數字,然後玩家輪流猜數字,猜錯時告訴玩家結果數字是大於猜測數字還是小於....
二分查詢法 (折半法)
class arraytest8 int index binarysearch arr,45 system.out.println index 二分查詢法 折半法 前提 陣列必須是有序的 如何去理解折半呢?相信大家都玩過這個遊戲,我在心中想乙個數87,每猜一次我只能告訴你 是大了還是小了,你怎麼才能...
折半查詢法 二分)
題目描述 大魔導師培根曾經說過 讀書使人明智,讀詩使人聰慧,演算使人精密,哲理使人深刻,倫理學使人有修養,邏輯修辭使人善辯。由此可見書籍的重要性是不言而喻的。而與書籍天天打交道的圖書管理員,更是奪天地之造化,吸日月之精華的 神之職業 據史料記載,魔法世界從古至今誕生的眾多不平凡的人物中,有不少人都曾...