JavaScript演算法:氣泡排序

氣泡排序是一種簡單的排序演算法,但它的效率相對較低,最壞的情況下的時間複雜度為 O(n^2)。 儘管如此,學習它是值得的。 我們遍歷一個數組,將每個元素與其旁邊的元素進行比較。 如果右邊的元素比較小,我們就交換它們的位置。 以下是我們的實現: const bubbleSort = (originalArray) => { let swapped = false const a = [...originalArray] for (let i = 1; i < a.length - 1; i++) { swapped = false for (let j = 0; j < a.length - i; j++) { if (a[j + 1] < a[j]) { ;[a[j], a[j + 1]] = [a[j + 1], a[j]] swapped = true } } if (!swapped) { return a } } return a } 你可以看到,O(n^2) 是因為我們對數組進行了兩次循環,以檢查是否需要將項目與右邊的項目交換位置。...