第65438章+0算法分析
1.1算法的分析方法
1.1.1偽代碼
1.1.2隨機存取機(RAM)型號
1.1.3計算基本運算的次數
1.1.4遞歸算法分析
1.2漸近符號
1.2.1大O符號
1.2.2與大“O”相關的漸近符號
1.2.3漸近表示的重要性
1.3數學概述
1.3之和1
1.3.2對數和指數
1.3.3簡單證明技術
1.3.4概率基礎
1.4算法分析案例研究
1.4.1二次時間前綴平均算法
1.4.2線性時間前綴平均算法
1.5分享方式
1.5.1共享技術
1.5.2擴展陣列實現分析
1.6實驗
1.6.1實驗組織
1.6.2數據分析和可視化
1.7習題
基本問題
創新問題
編程;編排
1.8本章註釋
第2章基本數據結構
2.1堆棧和隊列
2.1.1堆棧
2.1.2隊列
2.2向量、表格和序列
2.2.1向量
表2.2.2
2.2.3順序
2.3樹
2.3.1樹抽象數據類型
2.3.2樹的遍歷
2.3.3二叉樹
2.3.4表示壹棵樹的數據結構。
2.4優先級隊列和堆
2.4.1優先級隊列抽象數據類型
2.4.2 PQ排序、選擇排序和插入排序。
2.4.3堆數據結構
堆排序
2.5字典和哈希表
2.5.1無序字典ADT
哈希表
哈希函數
壓縮映射
沖突處理模式
通用哈希
2.6 Java示例:堆
2.7練習
基本問題
創新問題
編程;編排
2.8本章中的註釋
第3章找樹和跳桌子
3.1有序字典和二叉查找樹
3.1.1有序表
3.1.2二進制查找樹
3.1.3二叉查找樹搜索
3.1.4二進制查找樹中的插入
二叉查找樹的3.1.5刪除
3.1.6二叉查找樹的性能
3.2 AVL樹
3.2.1更新操作
性能
3.3深度受限搜索樹
3.3.1多重查找樹
(2,4)樹
3.3.3紅色和黑色樹木
3.4拉伸樹
3.4.1分機
3.4.2鋪展過程分析。
3.5跳表
3.5.1查找
更新操作
3.5.3跳表的概率分析
3.6 Java示例:AVL樹和紅黑樹
3.6.1 AVL樹的Java實現
3.6.2紅黑樹的Java實現
3.7練習
基本問題
創新問題
編程;編排
3.8本章中的註釋
第四章整理、收集和選擇
4.1合並排序
4.1.1分治法
4.1.2合並排序和遞歸方程
4.2設置抽象數據類型
4.2.1簡單集合實現
4.2.2具有聯合查找操作的分區
4.2.3基於樹的分區實現
4.3快速排序
4.4基於比較的排序下限
4.5桶排序和基數排序
4.5.1桶排序
基數排序
4.6比較排序算法
4.7選擇
4.7.1剪枝搜索法
4.7.2隨機快速選擇
4.7.3隨機快速選擇分析
4.8 Java示例:就地快速排序
4.9練習
基本問題
創新問題
編程;編排
4.10本章註釋
第五章基礎技術
5.1貪婪方法
5.1.1背包問題
5.1.2任務調度
5.2分治法
5.2.1分治遞歸方程
整數乘法
矩陣乘法
5.3動態規劃
5.3.1矩陣鏈乘法
通用技術
5.3.3 0-1背包問題
5.4練習
基本問題
創新問題
編程;編排
5.5本章中的註釋
第二部分圖形算法
第六章人物
6.1圖形抽象數據類型
6.2圖表的數據結構
6.2.1邊表結構
鄰接表結構
鄰接矩陣結構
6.3圖的遍歷
6.3.1深度優先搜索
雙連接組件
寬度優先搜索
6.4有向圖
6.4.1遍歷有向圖
傳遞閉包
6.4.3 DFS和垃圾收集
6.4.4有向無環圖
6.5 Java示例:深度優先搜索
6.5.1修改模式
DFS發動機
6.5.3模板法設計模式
6.6練習
基本問題
創新問題
編程;編排
6.7本章中的註釋
第七章加權圖
7.1單源點最短路徑
7.1.1 Dijkstra算法
7.1.2貝爾曼-福特最短路徑算法
7.1.3有向無環圖中的最短路徑
7.2所有頂點對之間的最短路徑
7.2.1動態規劃最短路徑算法
7.2.2通過矩陣乘法計算最短路徑
7.3最小生成樹
7.3.1克魯斯卡爾算法
7.3.2普裏姆-賈尼克算法
7.3.3巴?Vka算法
MST算法比較
7.4 Java示例:Dijkstra算法
7.5練習
基本問題
創新問題
編程;編排
7.6本章中的註釋
第八章網絡流量和匹配
8.1流和切
8.1.1流媒體網絡
8.1.2切
8.2最大流量
8.2.1剩余容量和增加路徑
福特-富爾克森算法
8.2.3福特-富爾克森算法分析
8.2.4埃德蒙茲-卡普算法
8.3最高分數匹配
8.4最小成本流
8.4.1增加循環
8.4.2連續最短路徑
8.4.3修改重量
8.5 Java示例:最小成本流
8.6練習
基本問題
創新問題
編程;編排
8.7本章中的註釋
第三部分互聯網算法
第九章文本處理
9.1字符串和模式匹配算法
9.1.1字符串操作
9.1.2強力模式匹配
9.1.3博耶-摩爾算法
9.1.4 Knuth-Morris-Pratt算法
9.2 trie
9.2.1標準trie
壓縮特裏樹
後綴trie
9.2.4搜索引擎
9.3文本壓縮
9.3.1霍夫曼編碼算法
9.3.2改進的貪婪方法
9.4文本相似性測試
9.4.1最長公共* * *子序列問題
9.4.2應用動態規劃解決LCS問題
9.5練習
基本問題
創新問題
編程;編排
9.6本章中的註釋
10數論和密碼學
10.1與數字相關的基本算法
10.1.1的基本數論的壹些事實
10.1.2歐幾裏德GCD算法
10.1.3模塊化運算
10.1.4模指數運算
10.1.5模乘逆元
10.1.6素數測試
10.2密碼計算
10.2.1對稱加密模式
10.2.2公鑰密碼系統
10.2.3 RSA密碼系統
10.2.4 El Gamal密碼系統
10.3信息安全算法和協議
10.3.1單向哈希函數
10.3.2時間戳和驗證字典
10.3.3拋硬幣和比特承諾
10.3.4安全電子傳輸(SET)協議
10.3.5密鑰分發和交換
10.4快速傅立葉變換
10.4.1本原單位根
10.4.2離散傅立葉變換
10.4.3快速傅立葉變換算法
10.4.4乘以大整數
10.5 Java示例:FFT
10.6練習
基本問題
創新問題
編程;編排
10.7本章註釋
第11章網絡算法
11.1復雜性度量和模型
11.1.1網絡協議棧
11.1.2消息傳遞模型
11.1.3網絡算法的復雜性度量
11.2基本分布式算法
11.2.1環網上的領袖選舉
11.2.2樹形網絡上的領袖選舉
11.2.3廣度優先搜索
11.2.4最小生成樹
11.3廣播路由和單播路由
11.3.1廣播路由的洪泛算法。
11.3.2單播路由的距離矢量算法
11.3.3單播路由的鏈路狀態算法
11.4多播路由
11.4.1反向路徑轉發
11.4.2中心樹
11.4.3斯坦納樹
11.5運動
基本問題
創新問題
編程;編排
11.6本章註釋
第四部分其他話題
第12章計算幾何
12.1範圍樹
12.1.1壹維範圍搜索
12.1.2 2D範圍搜索
12.2優先級搜索樹
..