1.1算法的概念11.2算法的表達11.2.1自然語言11.2.2結構化圖形工具21.2.3計算機高級語言31.3算法的評價31.3.1算法的正確性41.3.2算法的空間復雜性51.3.3算法的時間復雜性51.4*差時間復雜性和平均時間復雜性61.5函數的階與漸進性分析71.5.1復雜性函數的階71.5.2函數的漸進性階的比較81.5.3函數的漸進性階的運算81.5.4函數的漸進性表示與函數集合91.6本章習題9第2章遞推與遞歸/102.1遞推關系與遞推算法102.2遞歸函數212.3遞歸函數的執行過程222.4遞歸函數的時間復雜性與遞歸樹242.5估計遞歸函數的復雜度的主方法262.6本章習題27第3章分治法/293.1二分搜索算法293.1.1問題分析與算法設計293.1.2時間復雜性分析30〖1〗算法設計與分析目錄[3]〖3〗3.2合并排序算法303.2.1問題分析與算法設計313.2.2merge函數313.2.3時間復雜性分析323.3快速排序算法323.3.1固定主元的快速排序323.3.2隨機選主元的快速排序343.4搜索第k元353.4.1平均時間為線性363.4.2*差時間為線性373.5*近點對393.5.1一維空間中的*近點對393.5.2二維空間中的*近點對403.6本章習題44第4章動態規劃/454.1遞歸方法中的重復計算454.2*長公共子序列474.2.1問題描述474.2.2遞推關系分析474.2.3算法實現484.3*大子段和494.3.1問題描述494.3.2遞推分析494.3.3算法實現504.4矩陣連乘問題514.4.1問題描述514.4.2遞推分析524.4.3算法實現524.5數據壓縮問題534.5.1問題描述534.5.2遞推分析544.5.3算法實現554.601背包問題564.6.1問題描述564.6.2遞推分析564.6.3算法描述564.7消費和儲蓄問題574.7.1問題描述574.7.2遞推分析584.7.3算法實現584.8*優二叉搜索樹問題594.8.1問題描述594.8.2遞推分析604.8.3算法實現604.9本章習題61第5章貪心算法/635.1活動安排問題645.1.1問題描述645.1.2問題分析645.1.3算法實現645.2服務調度問題655.2.1問題描述655.2.2問題分析665.2.3算法實現665.3*遲時間限制服務調度問題675.3.1問題描述675.3.2問題分析675.3.3算法實現695.4ε背包問題705.4.1問題描述705.4.2問題分析705.4.3算法實現705.5*小生成樹問題725.5.1問題描述725.5.2prim算法原理725.5.3prim算法實現725.5.4kruskal算法原理745.5.5kruskal算法實現755.6單源*短路徑問題775.6.1問題描述775.6.2dijkstra算法原理775.6.3dijkstra算法實現785.7本章習題80第6章深度優先搜索/816.1樹的搜索816.1.1解空間、子集樹與排列樹816.1.2深度優先搜索826.1.301背包問題的回溯算法846.1.4n皇后問題866.1.5旅行推銷員問題886.1.6*大團問題906.1.7圖著色問題916.1.8連續郵資問題926.2圖的搜索946.2.1狼羊過河問題956.2.2分油問題986.3本章習題100第7章寬度優先搜索/1027.1寬度優先搜索一般形式1027.1.1基本算法1027.1.2算法性能1037.1.3算法設計要素1047.2樹的分支定界法1047.2.101背包問題1047.2.2旅行推銷員問題1077.3圖的分支定界法1097.3.1狼羊過河問題1097.3.2分油問題1127.4本章習題115第8章近似算法/1168.1近似算法的概念1168.201背包問題的0.5近似算法1178.2.1貪心算法1178.2.20.5近似算法1188.301背包問題的(1ε)近似算法1188.3.1一種動態規劃算法1188.3.2(1ε)近似算法1208.4旅行推銷員問題的2近似算法1218.5本章習題124第9章隨機算法/1269.1數值型隨機算法1269.1.1數值積分隨機算法1269.1.2隨機計數器1279.2蒙特卡洛算法1289.2.1矩陣乘法驗證1289.2.2質數檢測1299.3las vegas算法1329.3.1n皇后問題1329.3.2通用散列算法1349.4本章習題135第10章高級數據結構(一)/13610.1線段樹13610.1.1線段樹的應用背景13610.1.2線段樹的結構13610.1.3線段樹的性質13710.1.4線段樹的基本存儲結構13810.1.5線段樹的基本操作13810.1.6線段樹的應用舉例14010.2樹狀數組14210.2.1樹狀數組的應用背景14210.2.2樹狀數組的定義14210.2.3樹狀數組的實現14310.2.4樹狀數組的應用14310.3伸展樹14410.3.1伸展樹的應用背景14410.3.2伸展樹的定義及特點14410.3.3伸展樹的主要操作14510.4treap15110.4.1概述15110.4.2treap基本操作15110.4.3treap的其他操作15310.4.4總結15510.5本章習題156第11章高級數據結構(二)/15711.1塊狀鏈表15711.1.1塊狀鏈表基本思想15711.1.2塊狀鏈表基本操作15711.1.3塊狀鏈表的應用16211.2后綴樹16311.2.1模式匹配問題16311.2.2后綴樹簡介16311.2.3后綴樹定義16311.2.4后綴樹的構建16411.2.5后綴樹的應用16611.3樹鏈剖分16811.3.1樹鏈剖分的思想和性質16811.3.2樹鏈剖分的實現及應用16911.4本章習題177參考文獻/178