冒泡排序算法
起泡法通常指的是冒泡排序算法,它是一種簡單的排序算法。該算法的工作原理是通過反覆遍歷要排序的數列,比較每對相鄰的項,如果它們的順序錯誤(即當前項比後一項大,對於降序排序;或者當前項比後一項小,對於升序排序),則交換它們的位置。這個過程會使得每一輪遍歷後,最大的(或最小的)元素「冒泡」到序列的一端。重複這個過程,直到整個數列有序。
冒泡排序算法的基本步驟:
從數列的一端開始,比較相鄰的項。
如果當前項比後一項大(降序)或小(升序),則交換它們。
繼續這個過程直到整個數列有序。
起泡法名稱的由來:
因為在排序過程中,較小的元素會逐漸「浮」到數列的前端,就像水中的氣泡一樣,故名「冒泡排序」或「起泡法」。
冒泡排序的時間複雜度:
最好的情況是O(n),當輸入已經有序。
最壞和平均的情況是O(n^2),因為需要遍歷數列多次,每次遍歷需要進行n-1次比較。
冒泡排序的空間複雜度:
是O(1),因為它是一種原地排序算法,不需要額外的存儲空間。
綜上所述,起泡法即冒泡排序算法,是一種通過重複遍歷和交換相鄰項來對數列進行排序的方法,其名稱來源於排序過程中較小元素的「浮起」行為。