【大總結1】數據結構與傳統算法總結

由於時間和水平有限,肯定有錯誤或者寫得不好的地方

歡迎在文章下評論指出。

 

涉及語言:

py3:注重算法本身的知識

c/c++:實現基礎數據結構和算法

java:實現較複雜數據結構

 

 


一、概述


                         c語言知識體系

                        算法體系參考


                        課上筆記1(複習c、課程概述)

                        課上筆記2(基本概念、時空複雜度)

                        時空複雜度

                        淺析P/NP/NPC

                        引入:算法優化


提高篇

                        基礎動態規劃

                        摔手機:借一道水題打開思路


二、線性表

        筆記:

                        課上筆記3(線性表及順序表示)

                        課上筆記5(鏈表概述)

                        課上筆記6(鏈表選講、靜態鏈表)

                        作業1講解(最大子數組二維多維)

        基礎代碼實現:

                        順序存儲實現(靜/動)

                        單鏈表不帶頭(標準實現)

                        單鏈表不帶頭(壓縮代碼)

                        雙鏈錶帶頭

        應用:

                        約瑟夫環(順序、鏈式、數學)

                        線性表表示集合

                        線性表表示一元多項式

                        鏈表環相關問題

                        鏈表coding能力練習:歸併排序

                        LRU介紹和實現


 提高篇

                      鏈表coding能力練習:相交問題


三、棧和隊列

        筆記:

                        課上筆記7(棧、隊列基礎)

        基礎代碼實現:

                        數組實現棧

                        鏈表實現棧

                        數組實現隊列(易懂實現循環)

                        鏈表實現隊列

                        雙棧

                        棧和隊列的互相模擬

        應用:

                        棧排序

                        括號匹配

                        表達式求值

                        簡單迷宮問題

                        借漢諾塔理解棧與遞歸

                        手動維護棧實現二叉樹三種遍歷

                         深搜、廣搜與棧、隊列

        相關算法:

                        單調棧

                        單調雙端隊列


提高篇

                        雙端隊列優化的揹包問題


四、串

        筆記:

                        課上筆記8(串基礎)

        基礎代碼實現:

                        串的定長表示

                        串的堆分配

                        爲何py整數不會溢出

                        c語言文件操作

        相關算法:

                        一文讀懂KMP

                        一文讀懂Manacher

                        KMP題集1

                        KMP題集2

                        KMP+DP入門

                        字符串上的動態規劃

                        前綴樹

                        後綴樹/後綴數組概述

                        AC自動機


五、數組和廣義表

注:題目慢慢添加

        筆記:

                        課上筆記9(數組、廣義表)

        部分題目實現:

                        二維數組基操四連

                        數組基本操作三連(1)

                        數組基本操作三連(2)

                        數組基本操作三連(3)

                        數組基本操作三連(4)

                        數組精選操作(5)

                        數組精選操作(6)

        應用:

                        2048小遊戲實現

                        喫豆人

                        貪喫蛇


六、樹

        筆記:

                        課上筆記10(樹和二叉樹概述)

                        二叉樹概述

                        課上筆記11(滿二叉樹、完全二叉樹)

                        課上筆記12(二叉樹存儲與遍歷)

                        課上筆記13(樹的存儲)

        基礎代碼實現:

                        理解二叉樹遍歷

                        二叉樹序列化/反序列化

                        先序中序後序兩兩結合重建二叉樹

                        先序中序數組推後序數組

                        直觀打印二叉樹

                        根據數組建立平衡二叉搜索樹

                        平衡二叉樹的判斷

                        完全二叉樹的判斷

                        搜索二叉樹的判斷

                        二叉樹最長路徑

                        時間低於O(N)求完全二叉樹結點個數

        應用:

                        二叉搜索樹

                        

                        堆應用例題三連

                        並查集

                        並查集入門題集

                        線段樹

                        樹狀數組

        相關算法:

                        最大搜索子樹

                        morris遍歷 空間O(1)


七、圖

        筆記:

                        課上筆記14(圖基礎)

                        課上筆記15(存儲、遍歷)

        基礎:

                        最小生成樹

                        拓撲排序

                        最短路

        相關算法:

                        迷宮

                        棋盤簡單深搜廣搜

                        皇后問題(位運算)

                        旅行商問題(認識狀態壓縮)


八、動態存儲


九、查找

        基礎代碼實現:

                        二分及拓展

                        二叉搜索樹實現

                        數組建立二叉搜索樹

                        自平衡二叉搜索樹

                        AVL Tree

        相關算法:

                        HashMap記錄的動態規劃

                        跳錶介紹和實現


十、排序

        基礎代碼實現:

                        八種排序

        相關算法:

                        快排-荷蘭國旗

                        快排-前m大元素

                        歸併-求逆序數

                        桶思想-相鄰數最大差值

                        

                        堆應用例題三連

                        BFPRT

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章