三大查詢演算法

2021-10-03 16:55:06 字數 1094 閱讀 3572

針對無序數列(陣列)

//順序查詢

public

static

intsequencesearch

(int

arr,

int key)

}return-1

;}

針對有序序列(陣列),主要有二分查詢,插值查詢,斐波拉契查詢

//二分(拆半)查詢,針對有序陣列

public

static

intbinarysearch

(int

arr,

int key)

else

if(key > arr[mid]

)else

}return-1

;}//插值查詢,針對有序陣列

public

static

intinsertsearch

(int

arr,

int key)

else

if(key > arr[mid]

)else

}return-1

;}//斐波拉契數列,針對有序陣列

//先定義乙個斐波拉契數列

public

static

int[

]fib()

return f;

}public

static

intfibsearch

(int

arr,

int key)

int[

]temp = arrays.

copyof

(arr, f[k]-1

);for(

int i = high +

1; i < temp.length; i++

)while

(low <= high)

else

if(key > arr[mid]

)else

else}}

return-1

;}

python之三大查詢演算法

演算法簡介 順序查詢又稱為線性查詢,是一種最簡單的查詢方法。適用於線性表的順序儲存結構和鏈式儲存結構。該演算法的時間複雜度為o n 基本思路 從第乙個元素m開始逐個與需要查詢的元素x進行比較,當比較到元素值相同 即m x 時返回元素m的下標,如果比較到最後都沒有找到,則返回 1。優缺點 缺點 是當n...

三大查詢方法

三種查詢演算法 順序查詢,二分法查詢 折半查詢 分塊查詢,雜湊表 以後談 一 順序查詢的基本思想 從表的一端開始,順序掃瞄表,依次將掃瞄到的結點關鍵字和給定值 假定為a 相比較,若當前結點關鍵字與a相等,則查詢成功 若掃瞄結束後,仍未找到關鍵字等於a的結點,則查詢失敗。說白了就是,從頭到尾,乙個乙個...

演算法 c語言 三大查詢演算法,C語言詳細版

查詢也可稱檢索,是在大量的資料元素中找到某個特定的資料元素而進行的工作,查詢是一種操作。順序查詢也稱為線性查詢,屬於無序查詢演算法。從資料結構線形表的一端開始,順序掃瞄,依次將掃瞄到的結點關鍵字與給定值k相比較,若相等則表示查詢成功 若掃瞄結束仍沒有找到關鍵字等於posdata的結點,表示查詢失敗。...