各種經典演算法總結

2021-08-30 16:28:09 字數 556 閱讀 8253

二分排序

/* 二分查詢

* 演算法思想:1、將陣列排序(從小到大);2、每次跟中間的數mid比較,如果相等可以直接返回,

* 如果比mid大則繼續查詢大的一邊,否則繼續查詢小的一邊。

輸入:排序好的陣列 - ssource,陣列大小 - array_size,查詢的值 - key

返回:找到返回相應的位置,否則返回-1

*/ int binsearch(int ssource, int array_size, int key)

return -1;

} 二分查詢演算法(遞迴實現):

/*在下屆為low,上界為high的陣列a中折半查詢資料元素x*/

int bsearch(elemtype a,elemtype x,int low,int high)

{ int mid;

if(low>high) return -1;

mid=(low+high)/2;

if(x==a[mid]) return mid;

if(x

各種經典演算法總結

二分排序 二分查詢 演算法思想 1 將陣列排序 從小到大 2 每次跟中間的數mid比較,如果相等可以直接返回,如果比mid大則繼續查詢大的一邊,否則繼續查詢小的一邊。輸入 排序好的陣列 ssource,陣列大小 array size,查詢的值 key 返回 找到返回相應的位置,否則返回 1 int ...

PHP實現各種經典演算法

基本資料結構演算法 二分查詢 陣列裡查詢某個元素 function bin sch array,low,high,k elseif k array mid else return 1 順序查詢 陣列裡查詢某個元素 function seq sch array,n,k if i n else 線性表的...

php實現各種經典演算法

基本資料結構演算法 二分查詢 陣列裡查詢某個元素 function bin sch array,low,high,k elseif k array mid else return 1 順序查詢 陣列裡查詢某個元素 function seq sch array,n,k if i n else 線性表的...