【課程目錄】
一、算法的評價指標
二、線性表
- 順序表(數組Array、動態數組ArrayList)List
Object - 鏈表(單向、雙向、循環列表)
- 類型安全
- 探討net framework 底層線性表的實現方式
趣味算法:面積問題
約瑟夫
三、棧和隊列
1 . 隊列的基本用法。
- 分析微軟底層隊列和棧的實現方法
趣味算法:返回不重復數的實現
四、串
- string的基本用法“a”+”b”
- stringBuilder
- 串模式匹配
3.1. Brute-Force算法
3.2. KMP算法
3.2. 對KMP算法進行改進,優化
趣味算法:中獎彩球
五、樹
- 二叉樹的基本概念
1.1 二叉樹的存儲結構
1.2 二叉樹的遍歷
1.2.1 深度優先遍歷
1.2.2 廣度優先遍歷
- 線索二叉樹
2.1 線索二叉樹的實現
2.1 中序線索二叉樹
- 樹和深林
3.1 樹的存儲結構
3.2 樹、深林、二叉樹的轉換
- 二叉樹的畫法(程序實現)
- 樹的程序實現
趣味算法:魔術師的秘密
六、圖
- 圖的表示
- 圖的存儲結構
2.1鄰接矩陣表示法
2.2 鄰接表表示發
- 圖的遍歷
3.1 深度優先
3.2 廣度優先
- 最小生成樹
4.1普利姆算法
4.2 克魯斯卡爾算法
5.佛洛依德算法
6.總結
迷宮算法(打造自己的迷宮)
七、排序
- 冒泡排序與快速排序
- 直接插入排序與希爾排序
- 堆排序
- 歸并排序
- 各種排序比較
- 二分查找