經過兩天的時間自己又把比較常見的排序演算法學習了一遍,都是參考演算法導論裡面的偽**實現的.對過去的一些簡單的**溫習一下,做個總結。
程式都很小,但是也有一些思想在裡面。如果這些都能熟練掌握對我們的程式設計還是有很大提高的。比如常見的二分的思想和遞迴的思想。
但是有時候我們有了這些思想了為什麼還要繼續學習這些**呢,因為即使有了這些思想我們仍然很難寫出像演算法導論裡面的快速排序的演算法。
以前自己也有想過為什麼自己的想法總是比別人的差一些呢。在快速排序裡面設定的那個標記變數我想這也不是隨便就能想出來的。只能說明實踐動手不夠。
快速排序和堆排序相對較為難懂一些。
堆排序是先進行一次排序保證每個結點做為父結點的的值是最大的。把最上的父結點交換到最後乙個上後,再把最上的結點放到乙個合適的位置上即可。
快速排序就參考下演算法導論吧。和歸併排序有點相反,它是先保證上面是有序的,然後再二分。
插入排序
交換排序
選擇排序
快速排序
堆排序歸併排序
演算法導論 排序演算法總結
從六月初開始看演算法導論,陸陸續續看了有2個月了,但實際看的時間只有半個月左右。這期間都忙著找導師 期末考試,同時還回家修養了十來天。真正專心的看演算法是在離家返校後,由於沒有考試和作業的煩惱,天天都沉浸在演算法中,感覺效率較高。這段時間學到的東西較多,下面來總結一下 比較排序有 插入排序法 合併排...
演算法導論之最大流
流網路g v,e 是乙個有向圖,其中每條邊 u,v e均有乙個非負能量c u,v 0。如果 u,v e,則假定c u,v 0。流網路中有兩個特點的頂點,源點s和匯點t,假定每個頂點均處於從源點到匯點的某條路徑上,就是說,對每個頂點v v,存在一條路徑s v t,因此圖g是連通圖,且 e v 1。設g...
演算法導論 第七章 排序
什麼是穩定排序?n個記錄的序列為 r1,r2,r3 rn 其相應的鍵值序列為 k1,k2,k3 kn 假設ki kj,若在排序前的序列中ri在rj之前,即 i注意 穩定性是排序方法本身的特性,與資料無關,換句話說,一種排序方法如果是穩定的,則對所有的資料序列都是穩定的,反過來,如果在一組資料上出現不...