資料結構與演算法之二分查詢法

2021-09-24 15:04:36 字數 438 閱讀 5784

public static void main(string args) ;

//目標元素

int target=9;

//目標元素的索引

int index = -1;

//記錄開始位置

int begin=0;

//記錄結束位置

int end = arr.length;

//記錄中間位置

int mid = (begin+end)/2;

//迴圈查詢

while(true)

//判斷中間這個元素是不是要查詢的元素

if(arr[mid]==target) else else

//取出新的中間位置

mid=(begin+end)/2;}}

system.out.println(index);

}

資料結構與演算法之二分查詢

二分查詢又稱折半查詢,優點是比較次數少,查詢速度快,平均效能好 其 缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經常變動而查詢頻繁的有序列表。首先,假設表中元素是按公升序排列,將表中間位置記錄的 關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功 否則利用中間位置 記錄將表分成...

資料結構與演算法之二分查詢

假設我們有1000萬個整數資料,每個資料佔8個位元組,如何設計資料結構和演算法,快速判斷某個整數是否出現在這1000萬資料中?我們希望這個功能不要占用太多的記憶體空間,最多不要超過100m,你會怎麼做?二分查詢時一種非常簡單易懂的快速查詢演算法,生活中到處可見。比如說,我們現在來做乙個猜字遊戲。我隨...

資料結構與演算法之二分查詢

二分查詢法作為一種常見的查詢方法,將原本是線性時間提公升到了對數時間範圍,大大縮短了搜尋時間,但它有乙個前提,就是必須在有序資料中進行查詢。二分查詢過程如下 1.將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功 2.否則利用中間位置記錄將表分成前 後兩個子表,如果中間位置記錄的關鍵...