PHP基礎之查詢演算法

2021-09-05 10:09:07 字數 1052 閱讀 6143

查詢是在大量的資訊中尋找乙個特定的資訊元素,在計算機應用中,查詢是最常用的基本運算。查詢演算法的含義是實現查詢過程對應的**結。就是在大型陣列中快速定位想要的元素。

定義:順序查詢演算法也成為線性查詢,從資料結構線形表的一端開始,順序掃瞄,一次將掃瞄到的結點,關鍵字與給定的值k進行比較。若相等表示查詢成功,若掃瞄結束且沒有找到關鍵字等於k的結點,表示查詢失敗。

<?php

header("content-type:text/html;charset=utf-8");

$arr=array(1,2,3,4,5,7);

//順序查詢,從陣列第乙個函式開始依次匹配

function check_order($arr,$num)

}return false;

}var_dump(check_order($arr,5));

輸出![在這裡插入描述](

## 三、二分法查詢演算法

二分查詢要求線形表中的結點按關鍵字值的公升序或降序排列,用給定值k先於中間結點的關鍵字比較,中間結點把線形表分成2個子表,若相等則查詢成功,若不相等,再根據k與該中間的結點關鍵字的比較結果確定下一步查詢哪個字表,這樣遞迴進行,直達找到,或者發現表中無這樣的結點。

折半演算法的思路:

1.計算陣列的長度

2.確定左右2邊的指標位置

3.找到中間位置

4.匹配

5.根據大小重定邊界。

<?php

header("content-type:text/html;charset=utf-8");

//二分法查詢演算法

$arr=array(1,2,3,4,5,7);

//得到陣列邊界

$res=3;

function check_break($arr,$res)

//沒有找到

if($arr[$middle]<$res)

else

}return false;

} var_dump(check_break($arr,$res));

輸出

float(3)

基礎演算法之五 查詢 折半查詢

折半查詢 又稱為二分查詢。這種查詢方法要求查詢表的資料是線性結構儲存,並且還要求查詢表中的資料是按關鍵字由小到大有序排列。折半查詢 二分查詢 是一種簡單而又高效的查詢演算法,其查詢長度至多為 2n 1 判定樹的深度 平均查詢長度為 2 n 1 1,效率比順序查詢要高,但折半查詢只能適用於順序儲存有序...

PHP基礎演算法

需求 分別用 氣泡排序法,快速排序法,選擇排序法,插入排序法,歸併排序將下面陣列中 的值按照從小到大的順序進行排序。arr array 11,3,56,62,21,66,32,78,36,76,39,88,34 氣泡排序 bubble sort 演算法原理 是一種簡單的排序演算法。它重複地走訪過要排...

基礎查詢演算法

根據給定的數值在乙個列表中進行查詢,有兩種基本方法 順序查詢和二叉查詢。1 當資料項在列表內隨機排列的時候可以用順序查詢,2 而當資料項在列表內有許排列時用二叉查詢 一 1 順序查詢 最簡單的方式 從列表的開始處順序遍歷每條資料,直到找到所需要的資料或到了末尾,即順序查詢 實現方式比較簡單 bool...