常用資料結構演算法 c 模板實現

2021-09-06 05:13:08 字數 419 閱讀 7204

由於大三下學期了,快要找工作了,所以最近在複習一些學過的內容,以下是這幾天寫的資料結構裡面的一些常用的演算法,僅供參考。不過在平時做專案的時候,建議採用stl和boost裡面現成的東西,而不要自己去實現他們。另外,由於國內外講解資料結構和演算法的書籍很多,內容大多重複,所以筆者並沒有自習講解資料結構的原理,因為**很簡單,相信大家都可以看懂的。

如果讀者對於這一塊比較生疏,本人推薦看看《演算法導論》這本書,可能這本書不適合你作為入門的第一本書籍,但是這本書確實不錯,可以作為你入門後經常翻閱的書、。

順序表

單鏈表雙向鍊錶

迴圈鍊錶

順序棧鏈式棧

順序佇列

鏈式佇列

優先順序佇列 串

堆二叉樹

線索二叉樹

哈夫曼樹 樹

b+樹 圖

排序

資料結構 類模板實現鍊錶

鍊錶節點 templateclass linknode 鍊錶 templateclass linklist 指定位置插入 void inset linklist int pos,t data 建立新的節點 linknode newnode new linknode newnode data data...

資料結構 最小堆的類模板實現

堆資料結構是一種陣列物件,它可以被視為一科完全二叉樹結構。它的特點是父節點的值大於 小於 兩個子節點的值 分別稱為最大堆和最小堆 它常用於管理演算法執行過程中的資訊,應用場景包括堆排序,優先佇列等。1 根結點若有子樹,則子樹一定也是堆。2 根結點一定大於 或小於 子結點。因為要求堆必須是完全二叉樹,...

C 模板實現佇列

我準備練習一下模板的知識,然後自己實現vector類。在這之前,先用模板實現乙個佇列來熱身吧。佇列的底層是鍊錶。主要是熟悉一下模板的寫法。另外,就是模板的定義和實現都要寫在乙個檔案中 export關鍵字可以避免這樣。還沒用過 所以倒數第二行我加了個 include queue.hpp 只能是hpp,...