經典排序演算法的JS實現

2022-09-01 22:18:26 字數 804 閱讀 6314

1.氣泡排序法, 演算法視覺化實現參考visualgo,空間複雜度

tips:因比較少乙個陣列,所以迴圈次數要小於length-1

複雜度:o(n²)

function

bubble(a) }}

return

[...a]

}

2.快速排序演算法,演算法視覺化實現參考visualgo

tips:考察遞迴,中分查詢法

複雜度:o(nlogn)

function

quick(a)

//開始遞迴呼叫

return

[...quick(larr), q, ...quick(rarr)]

}

3.歸併排序演算法,時間複雜度:o(n log n)

是一種分治法的思想

function

mergesort(list)

let mid = math.floor(length / 2);

let left = list.slice(0, mid);

let right =list.slice(mid, length);

return merge(mergesort(left), mergesort(right));//

遞迴,跟快速排序差不多一樣

};function

merge(left, right)

else

} while (nl while (nr return

result;

}

經典排序演算法實現

1.希爾演算法 include 希爾排序演算法實現 但有時不穩定 void println int array,int len array k temp while gap 1 int main 開闢空間 int len sizeof array sizeof array println array...

JS經典演算法之氣泡排序演算法

氣泡排序演算法的運作如下 從後往前 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較...

經典排序演算法C 實現

用c 實現了經典的氣泡排序 插入排序 選擇排序 堆排序 快速排序 希爾排序 歸併排序。等空閒的時候再補充每個排序演算法的思想以及易錯點。氣泡排序 void bubble sort vector arr,int n if swaped 0 break else swaped 0 插入排序 withou...