1. 程式人生 > >資料結構裡面幾種考試演算法考點

資料結構裡面幾種考試演算法考點

排序演算法:

直接插入排序
希爾排序
起泡排序
快速排序
簡單選擇排序
歸併排序
堆排序

時間複雜度比較

直接插入:O(n²)注:比較和移動次數都達到O(n²)
希爾:O(nlogn)<x<O(n²)
起泡:O(n²)
快速:O(nlogn)注:最壞情況下(即是逆序有序)為O(n²)
簡單選擇:O(n²)
歸併:O(nlogn)
堆:O(nlogn)

穩定性比較

直接插入:穩定(你只是插入,原本就有序,只是移動資料耗時間)
希爾排序:不穩定(因為很可能兩個相等的值因為增量的選取導致會交換位置)
起泡:穩定(為了不浪費時間,判別時,最好不交換)
快排:不穩定(在兩個哨兵找交換數時,會發生位置變化)
簡單:不穩定(因為當出現a,a,b(a>b)時,會讓兩個a交換位置)
歸併:穩定(放心吧,肯定穩)
堆:不穩定(考完試再思考)

總結:考試的時候不要方,easy,easy