数据结构+算法 学习计划与资源
學(xué)了很多雜亂的技術(shù),繼續(xù)成長 漸感吃力,重新學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu) 與 算法.
計(jì)劃:
1.嚴(yán)蔚敏《數(shù)據(jù)結(jié)構(gòu)》《大話數(shù)據(jù)結(jié)構(gòu)》,每天一個(gè)小例子。
2.采用C++ 或者C 。盡量用C++實(shí)現(xiàn),以輔助理解面向?qū)ο缶幊趟枷搿?/p>
3.與同學(xué)每天練習(xí)、討論一個(gè)數(shù)據(jù)結(jié)構(gòu)問題。編寫、并分析一段代碼。
4.最最重要的是堅(jiān)持下來。
5.將代碼和領(lǐng)悟?qū)懺诓┛蜕稀?/p>
---------
1、每天一個(gè)小例子,具體的我們提前一天確定好;
2、我們各自實(shí)現(xiàn)代碼,然后交互看一下(確保代碼可讀性及本互學(xué)習(xí)),必要時(shí)討論;
3、每完成一塊知識(shí),對(duì)比總結(jié)一下。
---------
注意:樹、圖、排序 是 以前學(xué)習(xí)的時(shí)候遺留的難點(diǎn)。在這個(gè)時(shí)候不能放棄。最重要的是堅(jiān)持。
學(xué)習(xí)曲線:
1.鏈表
線性表的順序存儲(chǔ)結(jié)構(gòu)
線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
單鏈表結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)優(yōu)缺點(diǎn)
靜態(tài)鏈表
循環(huán)鏈表
雙向鏈表
2.棧
兩棧共享空間
棧的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)及實(shí)現(xiàn)
棧的應(yīng)用——遞歸 --斐波那契數(shù)列實(shí)現(xiàn).----- 遞歸定義....
棧的應(yīng)用——四則運(yùn)算表達(dá)式求值,后綴,后綴轉(zhuǎn)換為 中綴
3.隊(duì)列
循環(huán)隊(duì)列
4.串
樸素的模式匹配算法
KMP模式匹配算法
5.遍歷二叉樹
前序遍歷 中序遍歷 ?后續(xù)遍歷
線索二叉樹
樹、森林與二叉樹的轉(zhuǎn)換
二叉樹轉(zhuǎn)換為樹.
赫夫曼樹----
赫夫曼編碼. ?
6. 圖
鄰接矩陣、鄰接表、鄰接多重表、十字鏈表、
深度優(yōu)先搜索、廣度優(yōu)先搜索
最小生成樹: ?普里姆(Prim)算法.. 克魯斯卡爾(Kruskal)算法.......
最短路徑 : 迪杰斯特拉(Dijkstra)算法.--- 弗洛伊德(Floyd)算法
拓?fù)渑判?/p>
最短路徑算法
7.查找
順序查找
二分
線性索引:稠密索引.. 分塊索引.....倒排索引....
平衡二叉樹
二叉排序樹
多路查找(B樹)
散列查找
散列函數(shù)構(gòu)造:5種方式
散列沖突方法
8.排序
排序的基本概念與分類·
冒泡排序
簡單選擇
插入
希爾
堆排序
歸并
快速
學(xué)習(xí)資源:
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?動(dòng)態(tài)規(guī)劃
4.參考代碼:http://files.cnblogs.com/cj723/PlayWithDataStructureSourceCode.zip
demo ?list:
├─第3章線性表
│ ? ? ?01線性表順序存儲(chǔ)_List.c
│ ? ? ?02線性表鏈?zhǔn)酱鎯?chǔ)_LinkList.c
│ ? ? ?03靜態(tài)鏈表_StaticLinkList.c
│
├─第4章棧與隊(duì)列
│ ? ? ?01順序棧_Stack.c
│ ? ? ?02兩棧共享空間_DoubleStack.c
│ ? ? ?03鏈棧_LinkStack.c
│ ? ? ?04斐波那契函數(shù)_Fibonacci.c
│ ? ? ?05順序隊(duì)列_Queue.c
│ ? ? ?06鏈隊(duì)列_LinkQueue.c
│
├─第5章串
│ ? ? ?01串_String.c
│ ? ? ?02模式匹配_KMP.c
│
├─第6章樹
│ ? ? ?01二叉樹順序結(jié)構(gòu)實(shí)現(xiàn)_BiTreeArray.c
│ ? ? ?02二叉樹鏈?zhǔn)浇Y(jié)構(gòu)實(shí)現(xiàn)_BiTreeLink.c
│ ? ? ?03線索二叉樹_ThreadBinaryTree.c
│
├─第7章圖
│ ? ? ?01鄰接矩陣創(chuàng)建_CreateMGraph.c
│ ? ? ?02鄰接表創(chuàng)建_CreateALGraph.c
│ ? ? ?03鄰接矩陣深度和廣度遍歷DFS_BFS.c
│ ? ? ?04鄰接表深度和廣度遍歷DFS_BFS.c
│ ? ? ?05最小生成樹_Prim.c
│ ? ? ?06最小生成樹_Kruskal.c
│ ? ? ?07最短路徑_Dijkstra.c
│ ? ? ?08最短路徑_Floyd.c
│ ? ? ?09拓?fù)渑判騙TopologicalSort.c
│ ? ? ?10關(guān)鍵路徑_CriticalPath.c
│
├─第8章查找
│ ? ? ?01靜態(tài)查找_Search.c
│ ? ? ?02二叉排序樹_BinarySortTree.c
│ ? ? ?03平衡二叉樹_AVLTree.c
│ ? ? ?04B樹_BTree.c
│ ? ? ?05散列表_HashTable.c
│
└─第9章排序
|
---- 01排序_Sort.c
5.硬盤資源
?X:\編程基礎(chǔ)\數(shù)據(jù)結(jié)構(gòu)?
?C++數(shù)據(jù)結(jié)構(gòu)4.zip ?
?C++程序test_prog?
?C++程序test_prog.7z??
大話數(shù)據(jù)結(jié)構(gòu)SourceCode.zip?
?數(shù)據(jù)結(jié)構(gòu)_ruby_programs.zip
?數(shù)據(jù)結(jié)構(gòu)與算法ppt??
數(shù)據(jù)結(jié)構(gòu)與算法ppt.rar?
?歐陽浩 ? 項(xiàng)目源文件 及 ppt ?.rar
總結(jié)
以上是生活随笔為你收集整理的数据结构+算法 学习计划与资源的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows Forms、MFC、WT
- 下一篇: 更新了一个新版本的editplus 语法