查詢是在大量的資訊中尋找乙個特定的資訊元素,在計算機應用中,查詢是最常用的基本運算。查詢演算法的含義是實現查詢過程對應的**結。就是在大型陣列中快速定位想要的元素。
定義:順序查詢演算法也成為線性查詢,從資料結構線形表的一端開始,順序掃瞄,一次將掃瞄到的結點,關鍵字與給定的值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...