氣泡排序是小元素向前或向後的大要素。兩個相鄰元件之間的比較結果更。交換也這兩個元件之間發生。它是
最慢的排序演算法。
效率最低的演算法。
時間複雜度:
它是最差時間複雜度為:o(n^2),氣泡排序最好的
時間複雜度
為:o(n^2)
。平均時間複雜度為
:o(n^2)
演算法原理:
1. 比較相鄰的元素。假設第乙個比第二個大。就交換他們兩個。
2. 對每一對相鄰元素作相同的工作,從開始第一對到結尾的最後一對。
在這一點,最後的元素應該會是最大的數。
3. 針對全部的元素反覆以上的步驟,除了最後乙個。
4. 持續每次對越來越少的元素反覆上面的步驟,直到沒有不論什麼一對數字須要比較
演算法穩定性:
冒 泡排序就是把小的元素往前調或者把大的元素往後調。比較是相鄰的兩個元素比較,交換也發生在這兩個元素之間。
所以。假設兩個元素相等,我想你是不會再無聊 地把他們倆交換一下的。假設兩個相等的元素沒有相鄰,那麼即使通過前面的兩兩交換把兩個相鄰起來,這時候也不會交換,所以同樣元素的前後順序並沒有改變, 所以氣泡排序是一種穩定排序演算法。
php**:
<?php
$n = 8;
$min = 1;
$max = 100;
$data = createdata($n, $min, $max);
echo "隨機生成陣列:";
print_r($data);
echo "
"; bubble_sort($data, $n);
//生成乙個隨機數組成的不反覆陣列
function createdata($n, $min, $max)
}k--;}}
執行結果:
php排序演算法 氣泡排序和快速排序
總是對這兩種排序特別迷糊,今天趁活不多,認真看了下,也算對自己有個交代吧 第一 氣泡排序 預設從小到大排序 若從小到大則第二個引數為true function bubbling sort arr,state false else return arr 上午寫了冒泡法,整體思路還是很清晰的,但是到快速...
PHP 氣泡排序演算法
演算法說明 氣泡排序大概的意思是依次比較相鄰的兩個數,然後根據大小做出排序,直至最後兩位數。由於在排序過程中總是小數往前放,大數往後放,相當於氣泡往上公升,所以稱作氣泡排序。但其實在實際過程中也可以根據自己需要反過來用,大樹往前放,小數往後放。示例 從小到大 說明 從大到小的話,就把if判斷那裡的大...
PHP氣泡排序演算法
基本概念 氣泡排序的基本概念是 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即首先比較第1 個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重複以上過程,仍從第一對數開始比較 因為可能由於第2個數和第3...