1. 程式人生 > 其它 >web開發需要知道的幾個演算法

web開發需要知道的幾個演算法

技術標籤:演算法排序演算法快速排序堆排序js

演算法分類

  1. 快速排序演算法
  2. 深度優先演算法
  3. 廣度優先演算法
  4. 堆排序演算法
  5. 歸併排序演算法
// 插入排序
var arr = [20, 3, 5, 15, 30, 8]
for(var i = 0; i < arr.length; i++) {
  var index = 0;
  for(var j = 1; j < arr.length - i; j++) {
    if(arr[j] > arr[index]) index = j
  }
  var temp = arr[arr.length - i - 1]
  arr[arr.length - i - 1] = arr[index]
  arr[index] = temp
}
console.log(arr)
// 氣泡排序
var arr = [3, 56, 32, 13, 20, 8]
for(var i = 0; i < arr.length; i++) {
  for(var j = 0; j < arr.length - i - 1; j++) {
    if(arr[j] > arr[j + 1]) {
      var temp = arr[j]
      arr[j] = arr[j+1]
      arr[j+1] = temp 
    }
  }
}
console.log(arr)