第1篇 算法基礎篇
第1章 算法概述
1.1 什么是算法
1.2 算法的發(fā)展歷史
1.3 算法的分類
1.4 算法相關概念的區(qū)別
1.5 算法的表示
1.5.1 自然語言表示
1.5.2 流程圖表示
1.5.3 N-S圖表示
1.5.4 偽代碼表示
1.6 算法的性能評價
1.7 算法實例
1.7.1 查找數(shù)字
1.7.2 創(chuàng)建項目
1.7.3 編譯執(zhí)行
1.8 算法的新進展
1.9 小結
第2章 數(shù)據(jù)結構
2.1 數(shù)據(jù)結構概述
2.1.1 什么是數(shù)據(jù)結構
2.1.2 數(shù)據(jù)結構中的基本概念
2.1.3 數(shù)據(jù)結構的內容
2.1.4 數(shù)據(jù)結構的分類
2.1.5 數(shù)據(jù)結構的幾種存儲方式
2.1.6 數(shù)據(jù)類型
2.1.7 常用的數(shù)據(jù)結構
2.1.8 選擇合適的數(shù)據(jù)結構解決實際問題
2.2 線性表
2.2.1 什么是線性表
2.2.2 線性表的基本運算
2.3 順序表結構
2.3.1 準備數(shù)據(jù)
2.3.2 初始化順序表
2.3.3 計算順序表長度
2.3.4 插入結點
2.3.5 追加結點
2.3.6 刪除結點
2.3.7 查找結點
2.3.8 顯示所有結點
2.3.9 順序表操作示例
2.4 鏈表結構
2.4.1 什么是鏈表結構
2.4.2 準備數(shù)據(jù)
2.4.3 追加結點
2.4.4 插入頭結點
2.4.5 查找結點
2.4.6 插入結點
2.4.7 刪除結點
2.4.8 計算鏈表長度
2.4.9 顯示所有結點
2.4.1 0鏈表操作示例
2.5 棧結構
2.5.1 什么是棧結構
2.5.2 準備數(shù)據(jù)
2.5.3 初始化棧結構
2.5.4 判斷空棧
2.5.5 判斷滿棧
2.5.6 清空棧
2.5.7 釋放空間
2.5.8 入棧
2.5.9 出棧
2.5.1 0讀結點數(shù)據(jù)
2.5.1 1棧結構操作示例
2.6 隊列結構
2.6.1 什么是隊列結構
2.6.2 準備數(shù)據(jù)
2.6.3 初始化隊列結構
2.6.4 判斷空隊列
2.6.5 判斷滿隊列
2.6.6 清空隊列
2.6.7 釋放空間
2.6.8 入隊列
2.6.9 出隊列
2,6.1 0讀結點數(shù)據(jù)
2.6.1 1計算隊列長度
2.6.1 2隊列結構操作示例
2.7 樹結構
2.7.1 什么是樹結構
2.7.2 樹的基本概念
2.7.3 二叉樹
2.7.4 準備數(shù)據(jù)
2.7.5 初始化二叉樹
2.7.6 添加結點
2.7.7 查找結點
2.7.8 獲取左子樹
2.7.9 獲取右子樹
2.7.1 0判斷空樹
2.7.1 1計算二叉樹深度
2.7.1 2清空二叉樹
2.7.1 3顯示結點數(shù)據(jù)
2.7.1 4遍歷二叉樹
2.7.1 5樹結構操作示例
2.8 圖結構
2.8.1 什么是圖結構
2.8.2 圖的基本概念
2.8.3 準備數(shù)據(jù)
2.8.4 創(chuàng)建圖
2.8.5 清空圖
2.8.6 顯示圖
2.8.7 遍歷圖
2.8.8 圖結構操作示例
2.9 小結
第3章 基本算法思想
3.1 常用算法思想概述
3.2 窮舉算法思想
3.2.1 窮舉算法基本思想
3.2.2 窮舉算法示例
3.3 遞推算法思想
3.3.1 遞推算法基本思想
3.3.2 遞推算法示例
3.4 遞歸算法思想
3.4.1 遞歸算法基本思想
3.4.2 遞歸算法示例
3.5 分治算法思想
3.5.1 分治算法基本思想
3.5.2 分治算法示例
3.6 概率算法思想
3.6.1 概率算法基本思想
3.6.2 概率算法示例
3.7 小結
第2篇 算法基本應用篇
第4章 排序算法
4.1 排序算法概述
4.2 冒泡排序法
4.2.1 冒泡排序算法
4.2.2 冒泡排序算法示例
4.3 選擇排序法
4.3.1 選擇排序算法
4.3.2 選擇排序算法示例
4.4 插入排序法
4.4.1 插入排序算法
……
第3篇 算法高級應用篇