資料結構+演算法 學習計劃與資源

來源:互聯網
上載者:User

學了很多雜亂的技術,繼續成長 漸感吃力,重新學習資料結構 與 演算法.

計劃:

1.嚴蔚敏《資料結構》《大話資料結構》,每天一個小例子。

2.採用C++ 或者C 。盡量用C++實現,以輔助理解物件導向編程思想。

3.與同學每天練習、討論一個資料結構問題。編寫、並分析一段代碼。

4.最最重要的是堅持下來。

5.將代碼和領悟寫在部落格上。

---------

1、每天一個小例子,具體的我們提前一天確定好;

2、我們各自實現代碼,然後互動看一下(確保代碼可讀性及本互學習),必要時討論;

3、每完成一塊知識,對比總結一下。

---------

注意:樹、圖、排序 是 以前學習的時候遺留的痛點。在這個時候不能放棄。最重要的是堅持。

學習曲線:

1.鏈表

線性表的順序儲存結構

線性表的鏈式儲存結構

單鏈表結構與順序儲存結構優缺點

靜態鏈表

迴圈鏈表

雙向鏈表

2.棧

兩棧共用空間

棧的鏈式儲存結構及實現

棧的應用——遞迴 --斐波那契數列實現.----- 遞迴定義....

棧的應用——四則運算運算式求值,尾碼,尾碼轉換為 中綴

3.隊列

迴圈隊列

4.串

樸素的模式比對演算法

KMP模式比對演算法

5.遍曆二叉樹

前序走訪 中序遍曆  後續遍曆

線索二叉樹

樹、森林與二叉樹的轉換

二叉樹轉換為樹.

赫夫曼樹----

赫夫曼編碼. 

6. 圖

鄰接矩陣、鄰接表、鄰接多重表、十字鏈表、

深度優先搜尋、廣度優先搜尋

最小產生樹:  普裡姆(Prim)演算法.. 克魯斯卡爾(Kruskal)演算法.......

最短路徑 : 迪傑斯特拉(Dijkstra)演算法.--- 弗洛伊德(Floyd)演算法

拓撲排序

最短路徑演算法

7.尋找

順序尋找

二分

線性索引:稠密索引.. 分塊索引.....倒排索引....

平衡二叉樹

二叉排序樹

多路尋找(B樹)

散列尋找

散列函數構造:5種方式

散列衝突方法

8.排序

排序的基本概念與分類·

冒泡排序

簡單選擇

插入

希爾

堆排序

歸併

快速

學習資源:

1.data structure visualization:http://www.cs.usfca.edu/~galles/visualization/Algorithms.html

2.http://www.cnblogs.com/bourbon/archive/2011/08/26/2152158.html 排序演算法

3.http://www.cnblogs.com/bourbon/archive/2011/08/23/2151044.html 動態規劃

4.參考代碼:http://files.cnblogs.com/cj723/PlayWithDataStructureSourceCode.zip

demo  list:

├─第3章線性表

│      01線性表順序儲存_List.c

│      02線性錶鏈式儲存_LinkList.c

│      03靜態鏈表_StaticLinkList.c

│

├─第4章棧與隊列

│      01順序棧_Stack.c

│      02兩棧共用空間_DoubleStack.c

│      03鏈棧_LinkStack.c

│      04斐波那契函數_Fibonacci.c

│      05順序隊列_Queue.c

│      06鏈隊列_LinkQueue.c

│

├─第5章串

│      01串_String.c

│      02模式比對_KMP.c

│

├─第6章樹

│      01二叉樹順序結構實現_BiTreeArray.c

│      02二叉樹鏈式結構實現_BiTreeLink.c

│      03線索二叉樹_ThreadBinaryTree.c

│

├─第7章圖

│      01鄰接矩陣建立_CreateMGraph.c

│      02鄰接表建立_CreateALGraph.c

│      03鄰接矩陣深度和廣度遍曆DFS_BFS.c

│      04鄰接表深度和廣度遍曆DFS_BFS.c

│      05最小產生樹_Prim.c

│      06最小產生樹_Kruskal.c

│      07最短路徑_Dijkstra.c

│      08最短路徑_Floyd.c

│      09拓撲排序_TopologicalSort.c

│      10關鍵路徑_CriticalPath.c

│

├─第8章尋找

│      01靜態尋找_Search.c

│      02二叉排序樹_BinarySortTree.c

│      03平衡二叉樹_AVLTree.c

│      04B樹_BTree.c

│      05散列表_HashTable.c

│

└─第9章排序

|

---- 01排序_Sort.c

5.硬碟資源

 X:\編程基礎\資料結構 

 C++資料結構4.zip  

 C++程式test_prog 

 C++程式test_prog.7z  

大話資料結構SourceCode.zip 

 資料結構_ruby_programs.zip

 資料結構與演算法ppt  

資料結構與演算法ppt.rar 

 歐陽浩   項目源檔案 及 ppt  .rar

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.