前端查詢演算法

2021-10-11 22:52:41 字數 1339 閱讀 6853

順序搜尋

// 順序搜尋

let arr =[5

,4,3

,2,1

]let target =

3function

sequentialsearch

(arr, target)

}return-1

} console.

log(

sequentialsearch

(arr, target)

)//2,成功找到陣列下標

思路:陣列遍歷,將每乙個元素和我們的目標值進行比較找出結果.這種演算法是效率最低的一種演算法.

二分搜尋

前提:一定要排好序再使用

function

binarysearch

(arr, target)

else

if(target < arr[mid]

)else

}return-1

}//演示

let arr =[1

,2,3

,4,5

,6,7

,8,9

,10,11

,23,44

,86];

let target =

10 console.

log(

binarysearch

(arr, target));

//列印下標9

方法2:遞迴寫法

function

binarysearch

(arr, low, high, target)

let mid = math.

floor

((low + high)/2

)if(target > arr[mid]

)else

if(target < arr[mid]

)else

} console.

log(

binarysearch

(arr,

0, arr.length -

1, target)

,"遞迴二分演算法");

//列印9

思路:

二分法查詢是一種在有序陣列中查詢特定元素的搜尋演算法。

查詢過程可以分為以下步驟:

(1)首先,從有序陣列的中間的元素開始搜尋,如果該元素正好是目標元素(即要查詢的元素),則搜尋過程結束,否則進行下一步。

(2)如果目標元素大於或者小於中間元素,則在陣列大於或小於中間元素的那一半區域查詢,然後重複第一步的操作。

(3)如果某一步陣列為空,則表示找不到目標元素。

前端中的演算法1 二分查詢

如果覺得前端就是畫頁面 那麼文章就不用看了 現在的崗位而言 對應前端的要求越來越高 質量也越高 效能要求也越高 先來乙個入門基本的演算法 二分查詢 所謂的演算法都不是直接使用關鍵字indexof findincludes之類的 都是原生迴圈來實現 二分 就是一拆為2 比如乙個集合 let list ...

查詢演算法 折半查詢演算法

折半查詢演算法 binary search param a 乙個有序的集合 本次為由小到大 param x 需要查詢的值 ps 首先使用折半演算法的時候 集合必須是有序的 eg a 1,3,5,7,9 x 3 a mid low height 1,3,5,7,9 2 0 1 1,3 0 1 1 3 ...

前端排序演算法

按從左到右的順序,從下標為1的數開始與前乙個進行比較,小則往前移,大則退出迴圈。let array 1 9,3 5,2 3,5 7,2 function arrayinsert array else return array 輸出 let array1 arrayinsert array for l...