二分法學習筆記(有參考其他blog)

2021-06-21 08:27:38 字數 550 閱讀 8608

第一種
//arr儲存數,n表示陣列長度,e表示被查詢元

//[0,n)

int bin_find(int *arr, int n, int e)

return -1;

}

第二種

//(-1,n)

//可以找到元素的第乙個,不過時間稍差,演算法穩定,執行時間只與搜尋陣列長度有關,而與陣列元素分布無關

int bin_find(int *arr, int n, int e)

if(right >= n || arr[right] != e)

right = -1;

return right;

}

第三種

//[0,n-1]

//arr儲存數,n表示陣列長度,e表示被查詢元

int bin_find(int *arr, int n, int e)

return -1;

}

二分法學習筆記

當資料量很大適宜採用該方法。採用二分法查詢時,資料需是排好序的。基本思想 假設資料是按公升序排序的,對於給定值x,從序列的中間位置開始比較,如果當前位置值等於x,則查詢成功 若x小於當前位置值,則在數列的前半段中查詢 若x大於當前位置值則在數列的後半段中繼續查詢,直到找到為止。演算法 假如有一組數為...

二分法學習筆記

當資料量很大適宜採用該方法。採用二分法查詢時,資料需是排好序的。基本思想 假設資料是按公升序排序的,對於給定值x,從序列的中間位置開始比較,如果當前位置值等於x,則查詢成功 若x小於當前位置值,則在數列的前半段中查詢 若x大於當前位置值則在數列的後半段中繼續查詢,直到找到為止。演算法 假如有一組數為...

ACM二分法學習小結

1 二分查詢 二分查詢又稱折半查詢,它是一種效率較高的查詢方法。二分查詢要求 線性表是有序表,即表中結點按關鍵字有序,並且要用向量作為表的儲存結構。不妨設有序表是遞增有序的。2 二分查詢的基本思想 二分查詢的基本思想是 1 首先確定該區間的中點位置 2 然後將待查的k值與r mid key比較 若相...