javascrip常用演算法總結
當然這些演算法不僅僅適用於javascript,同樣也適用於其他語言。
下面就簡單列舉一下javascript中常見的一些演算法,需要的朋友可以做一下參考。
一.線性查詢:
比較簡單,屬於入門級的演算法
[JavaScript] 純文字檢視 複製程式碼//A為陣列,x為要搜尋的值 function linearSearch(A, x) { for (var index = 0; index < A.length; index++) { if (A[index] == x) { return index; } } return -1; }
二.二分查詢:
又稱折半查詢,適用於已排好序的線性結構。
[JavaScript] 純文字檢視 複製程式碼//A為已按"升序排列"的陣列,x為要查詢的元素 //返回目標元素的下標 function binarySearch(A, x) { var low = 0, high = A.length - 1; while (low <= high) { var mid = Math.floor((low + high) / 2); //下取整 if (x == A[mid]) { return mid; } if (x < A[mid]) { high = mid - 1; } else { low = mid + 1; } } return -1; }
三.氣泡排序:
[JavaScript] 純文字檢視 複製程式碼//氣泡排序 function bubbleSort(A) { for (var i = 0; i < A.length; i++) { var sorted = true; //注意:內迴圈是倒著來的 for (var j = A.length - 1; j > i; j--) { if (A[j] < A[j - 1]) { swap(A, j, j - 1); sorted = false; } } if (sorted) { return; } } }
四.插入排序:
[JavaScript] 純文字檢視 複製程式碼//插入排序 //假定當前元素之前的元素已經排好序,先把自己的位置空出來, //然後前面比自己大的元素依次向後移,直到空出一個"坑", //然後把目標元素插入"坑"中 function insertSort(A) { for (var index= 1; index< A.length; index++) { var x = A[index]; for (var j = index- 1; j >= 0 && A[j] > x; j--) { A[j + 1] = A[j]; } if (A[j + 1] != x) { A[j + 1] = x; println(A); } } return A; }
五.字串反轉:
[JavaScript] 純文字檢視 複製程式碼//字串反轉(比如:ABC -> CBA) function inverse(s) { var arr = s.split(''); var index= 0, j = arr.length - 1; while (index< j) { var t = arr[index]; arr[index] = arr[j]; arr[j] = t; index++; j--; } return arr.join(''); }
相關文章
- 常用排序演算法總結排序演算法
- 常用排序演算法總結(1)排序演算法
- 常用排序演算法總結(2)排序演算法
- 5大常用演算法總結演算法
- javascript常用陣列演算法總結JavaScript陣列演算法
- 五大常用演算法總結演算法
- 服務治理:常用限流演算法總結演算法
- 常用的比較排序演算法總結排序演算法
- 幾個常用經典演算法總結演算法
- 一些常用的演算法技巧總結演算法
- numpy 常用總結
- 【vim】常用總結
- 常用TS總結
- 作業系統常用的排程演算法總結作業系統演算法
- 常用git命令總結Git
- 常用kubectl命令總結
- github常用指令總結Github
- Rails常用gem總結AI
- 常用js方法總結:JS
- phaser常用API總結API
- openssl常用使用總結
- css常用大總結CSS
- Maven 常用技巧總結Maven
- ?Git 常用操作總結Git
- NumPy常用方法總結
- java常用Api總結JavaAPI
- 【個人總結】常用技巧
- 常用埠號總結
- 常用標籤總結
- 常用 Git 命令總結Git
- DataTable常用操作總結
- 常用PDF庫總結
- 演算法競賽中的常用輸入輸出總結演算法
- 藍橋杯演算法模板常用套路及API等個人總結演算法API
- Javascript Object常用方法總結JavaScriptObject
- Laravel – Artisan 個人常用總結Laravel
- Object物件常用方法總結Object物件
- 常用Java集合類總結Java