常見演算法(一)

2021-09-25 13:35:24 字數 743 閱讀 2553

穩定性:如果排序前a在b的前面,經過排序後,a依然在b的前面,就說這個演算法是穩定的,反之則是不穩定的。

原地排序:指的是空間複雜度o(1)的演算法,排序中不需要額外的記憶體空間。

時間複雜度: 乙個演算法執行所耗費的時間。

空間複雜度:執行完乙個程式所需額外記憶體(除了待排序資料之外占用的記憶體)的大小。

我們今天主要講解氣泡排序、插入排序,選擇排序,這三個排序的時間複雜度都是o(n^2),空間複雜度o(1),都是原地排序。另外提一句雖然他們的時間複雜度雖然都是o(n^2),但是插入排序更受歡迎,大家知道是為什麼嗎?

下面先上**

氣泡排序

function bubblesort($array)

} }return $array;

}

選擇排序

function selectionsort($array)

} $tmp = $array[$min];

$array[$min] = $array[$i];

$array[$i] = $tmp;

} return $array;

}

插入排序

function insertionsort($array)

else

} $array[$j+1] = $tmp;

} return $array;

}

常見排序演算法總結(一)

這裡的排序演算法指內排序演算法,即在記憶體中排序 所謂排序為部分有序到全域性有序的過程,以下排序都以從小到大為例 1.直接插入排序 思想 好像打撲克牌一樣,尋找正確的位置插入,分三步走。一 尋找合適的位置。二 將後面的數往後移一位,騰出空間。三 插入 public class insortdemo ...

js常見演算法題(一)

1.每個單詞手字母大寫 var capitalizeeveryword str str.replace b a z g,char char.touppercase capitalizeeveryword hello world 複製 2.計算平均數 var calculatedmean arr ar...

常見的一些演算法

1.判斷乙個數是否為素數 質數 判斷乙個數是否為素數 method1 bool judgeprime int number std cout number return true 判斷乙個數是否為素數 method2 bool judgeprime2 int number std cout numb...