資料結構與演算法 排序總結

2021-08-07 07:51:35 字數 769 閱讀 8921

這裡討論常用的內部排序

1.直接插入排序:時間複雜度o(n^2)

void insertsort(int *a, int size)

a[j] = x;}}

}

2.希爾排序(最小增量排序):時間複雜度

void shellsort(int *a, int size)

a[j] = x;}}

}}

3.氣泡排序,時間複雜度:o(n^2)

void bubblesort(int *a, int size)

}if(flag == 0)

}}

4.快速排序,時間複雜度:o(nlogn)

void quicksort(int *a, int size)

void qsort(int *a, int low, int high)

a[low] = pivotkey;

if(low-1 <= 0 || low+1 >= highrecord) return;

qsort(a,0,low-1);

qsort(a,low+1,highrecord);

}

5.簡單選擇排序:時間複雜度o(n^2)

void

selectsort(

int *a,

int size)

} if(pos != j)

} }

資料結構與演算法 排序演算法總結

排序演算法 1 冒泡 對資料的有序性 敏感,一旦排序完成就會 立刻停止,如果待排序的資料是基本有序的,他的排序效率是非常高的。也是實現最簡單的排序,不易出錯,安全性高。2 插入 在已經有序的資料中,新增新的資料,對這個組資料再進行排序比較適合插入排序。3 選擇 是氣泡排序的變種,不是正統的排序方法,...

資料結構與演算法 排序演算法總結

前言 這是我考研時根據率輝老師的 高分筆記 總結的。名稱 空間複雜度 最好情況下時間複雜度 最差情況下時間複雜度 穩定性直接插入排序 o 1 已經有序,雙層迴圈變為單層,o n o n2 穩定希爾排序 o 1 無o n2 不穩定氣泡排序 o n 已經有序,o n o n2 穩定快速排序 o log2...

資料結構排序演算法總結

常用的演算法有插入排序 氣泡排序 選擇排序 快速排序 歸併排序 希爾排序 堆排序 計數排序和基數排序。下面對著九種常見排序方法進行總結 排序方法 時間複雜度 空間複雜度 個人評價 插入排序 o n 2 o 1 選擇排序 氣泡排序 希爾排序 o n log n 快速排序 o log n 歸併排序 o ...