實際上就是暴力排序,乙個是從多變少,乙個是從少變多。
選擇排序是對新陣列成員進行選擇而無需照顧源陣列,而氣泡排序則是對源陣列進行選擇而無需照顧生成陣列。
時間複雜度:o(n^2)
乍一看,感覺和冒泡是神似的。因為他們都是通過對源陣列進行選擇而無需照顧生成陣列的。但是不同的地方就是堆排序有乙個生成堆的提前過程。而且堆排序是三個成員一次對比,減少了對比次數,自然減少了排序時間。
時間複雜度:o(nlogn)
是較為常用的排序手段。它實現的方式是類似與分治的理念,就是遵循分解,解決,合併的順序。但是又有所不同,因為它是記錄了乙個標記值的,所以又比歸併排序好一些(當然不是在最差情況下)。但是快速排序是有最差情況的。這時候和
冒泡就很像了,所以為了減少這種因為資料特殊而產生的情況,要用隨機來選定作為標記值。
時間複雜度:o(nlogn~n^2)
在排序源陣列元數較小的時候可以使用,效率較高。比如規定範圍的數,字元,有限列舉等。。
時間複雜度:o(n)
很驚豔,因為和潛意識不同。
在對3位數排序時,先對個位數排序,然後再排十位數……
也很好理解,就是乙個計數排序的公升級版。
演算法導論閱讀筆記
優先順序佇列 1 概述 佇列是一種滿足先進先出 fifo 的資料結構,資料從佇列頭部取出,新的資料從佇列尾部插入,資料之間是平等的,不存在優先順序的。這個就類似於普通老百姓到火車站排隊買票,先來的先買票,每個人之間是平等的,不存在優先的權利,整個過程是固定不變的。而優先順序佇列可以理解為在佇列的基礎...
演算法導論閱讀筆記
第二章 演算法入門 本章通過介紹插入排序和歸併排序兩種常見的排序演算法來說明演算法的過程及演算法分析,在介紹歸併排序演算法過程中引入了分治 divide and conquer 演算法策略。1 插入排序 輸入 n個數 a1,a2,a3,an 輸出 輸入序列的乙個排列 a1 a2 a3 an 使得 a...
看《演算法導論》的一點感想
說實話,我沒把那書看完,甚至沒有看過1 10,至於做題就更沒譜了,只要不是有人提起,我根本不知道哪個題居然在算導 下文簡寫成clrs 中出現過,但是我還要寫一下我對這書的心得,看法和感受,尤其是和找工作的關係,供大家分享。2.雖然憑大家的智商,硬啃本書沒問題,但還是建議看本書之前,先把大學相關科目複...