深入淺出理解排序演算法之 氣泡排序

2021-06-26 01:51:56 字數 649 閱讀 1412

#include

void

swap(

int&a,

int&b)

/* 氣泡排序

基本思想

:第一趟冒泡得到乙個關鍵字最小的記錄,第二趟得到次小值

...針對每一趟:兩兩相鄰紀錄的關鍵字,如果反序則交換直到沒有反序為止 特點

:時間效率,總共

n-1趟冒泡,對

j個記錄的表進行一趟冒泡需要

j-1次關鍵字比較,空間效率:僅用乙個輔助單元(臨時變數) */

void

bubblesort(

intarray,

intlen) }

} }int

main(

intargc,

const

char

* argv) ;

intlen =

sizeof

(a)/

sizeof

(a[0

]);

// 氣泡排序

bubblesort

(a,len);

for(i =

0; i < len; i++)

printf

("\n");

return0;

}

深入淺出理解排序演算法之 堆排序

include void swap int a,int b 維護最小堆 void adjustminheap int a,intpos,intlen else a pos temp 堆排序 基本思想 對於 n個元素的序列進行堆排序,先將其建成堆 最小堆 上一層的比本層小,一次遞推 以根結點與第 n個...

深入淺出學演算法 排序專題 快速排序

之前給大家講過快排了,今天再講一遍 排序大師今天在課上給徒弟們教快速排序o n log n 總結分三步走 原序列以2為分隔數,第一趟排序結束,分為三組序列 1 2 4 53 序列 發現元素個數為1,結束 序列 元素個數為1,結束 序列 發現元素個數 1,選擇3為分隔數,分為三組序列 空 3 5 4 ...

深入淺出理解Paxos演算法

paxos演算法是萊斯利 蘭伯特 英語 leslie lamport latex中的 la 於1990年提出的一種基於訊息傳遞且具有高度容錯特性的一致性演算法。paxos演算法一開始非常難以理解,但是一旦理解其實也並不難,之所以難理解其實是因為作者講的故事難理解。paxos演算法維基百科 本人是在看...