系統整理一下排序演算法。
氣泡排序實質是小(大)的元素往前(後)調。進行n-1輪對比,每輪對比將最後乙個元素進行冒泡(排序),即每輪對比將最後乙個元素排出(每輪中的最大或最小),隨後將泡泡(排出元素)排除,進行下一次迭代對比,直到沒有元素可交換為止。這種方式通過多次迭代陣列來完成操作,不管是平均還是最壞的情況,都是具有二次時間複雜度。儘管這個方式簡單,但是在實際應用中,大多數情況下不切實際的:時間複雜度過高。js實現 :
function bubblesort(arr)
}} return arr;
} console.log(bubblesort([5,12,3,77,2])); //2, 3, 5, 12, 77
選擇排序的工作原理是將第乙個元素當成最小(最大)的元素,將其與剩餘的元素進行對比,將最終對比出來的最大(最小)值儲存在第一位,接著繼續將第二個元素當成最小(最大)元素,周而復始,同樣進行n-1輪對比。由於交換所需cpu時間比比較所需的cpu時間多,n值較小時,選擇排序比氣泡排序快。是一種不穩定的排序方法。js**
function selectsort(arr)}}
return arr;
} console.log(selectsort([5,12,3,77,2]));//2, 3, 5, 12, 77
插入排序的工作原理是先將第乙個元素當成已排序好的序列,將第二個元素插入前面序列進行對比排序,之後又將第三個元素插入前面已排序好的序列,周而復始。對於少量元素的排序,它是乙個有效的演算法。js**
function insertsort(arr)
function quicksort(arr,left=0,right=arr.length-1)
}swap(arr,left,pivot);
quicksort(arr,0,pivot-1);
quicksort(arr,pivot+1,right);
} return arr;
} console.log(quicksort([5,12,3,77,2]));//2, 3, 5, 12, 77
排序演算法 JS實現
原文引用自這裡,這裡只是我自己的學習的補充以及筆記 時間複雜度,o n2 var arr 5,6,3,1,8,7,2,4 function insertsort arr else return arr console.log insertsort arr 時間複雜度,o n2 var arr 5,1...
JS實現排序演算法
目錄 一 氣泡排序 方法名 sortarr 功能介紹 對陣列進行排序 冒泡演算法 arguments arr 必輸項 需要排序的陣列 action 非必輸項 up 公升序,down 降序 預設 let sortarr function arr,action 空陣列或者陣列1個元素,不需要排序直接跳出...
排序演算法(js實現)
氣泡排序 兩兩比較,遍歷一趟會挑出最大的值放在最後。function bubblesort arr return arr 選擇排序 從頭至尾掃瞄序列,每次找出最小的乙個元素,和第乙個元素交換,接著從剩下的元素中繼續這種選擇和交換方式,最終得到乙個有序序列。function selectsort ar...