相關主題
商品描述
本書是高職高專、應用型本科計算機類專業的教材,在內容的編排上盡量符合高等院校的要求,
敘述簡潔、深入淺出,注重實踐和應用。本書對常用數據結構的基本概念做了介紹,
在講解數據的存儲結構時,使用了大量的圖示和表格,有助於讀者對數據結構及相關算法的理解。
全書共分10章,第1章為數據結構與算法基礎,第2~8章分別介紹了線性表、棧和隊列、串及數組、
樹和二叉樹、圖、查找、排序,第9章為綜合實例,第10章為實驗。
全書用C語言作為算法描述語言,本書還附有遊戲及一些典型實驗項目,可供讀者上機練習每章的知識。
本書主要面向高等院校計算機類專業的學生,
也可以作為非計算機類專業學生的選修課教材和相關技術人員的自學參考書。
為了方便教學,本書配有電子課件等教學資源。
凡選用本書作為教材的教師均可登錄機械工業出版社教育服務網(www.compedu.com)下載。
目錄大綱
目 錄
前 言
第1章 資料結構與算法基礎
1.1 初識資料與結構
1.2 資料結構的概念
1.2.1 基本概念和術語
1.2.2 資料結構的物理結構與邏輯結構
1.2.3 資料結構=資料+資料的物理結構+資料的邏輯結構
1.2.4 資料類型與抽象資料類型
1.3 為什麼要學習資料結構
1.4 如何學好資料結構
1.5 算法和算法分析基礎
1.5.1 算法特性
1.5.2 算法描述
1.5.3 算法性能分析與度量
1.5.4 算法大致分類
1.6 習題
第2章 線性表
2.1 線性表的邏輯結構
2.1.1 線性表的定義
2.1.2 線性表的基本操作
2.2 線性表的物理結構
2.2.1 順序表存儲結構及基本運算的實現
2.2.2 鏈式存儲結構及基本運算的實現
2.2.3 迴圈鏈表
2.2.4 雙向鏈表
2.3 線性表的應用
2.4 習題
第3章 棧和佇列
3.1 棧
3.1.1 棧的定義及基本運算
3.1.2 棧的存儲實現和運算實現
3.2 棧的應用舉例
3.3 佇列
3.3.1 佇列的定義及基本運算
3.3.2 佇列的存儲實現及運算實現
3.4 棧應用舉例
3.5 習題
第4章 串及陣列
4.1 串及其基本運算
4.1.1 串的基本概念
4.1.2 串的基本運算
4.2 串的定長順序存儲及基本運算
4.3 串的鏈式存儲及基本運算
4.4 模式匹配
4.5 陣列
4.6 應用舉例
4.7 習題
第5章 樹和二叉樹
5.1 樹的定義及相關術語
5.1.1 樹的定義
5.1.2 基本術語
5.2 二叉樹
5.2.1 二叉樹的定義和基本操作
5.2.2 二叉樹的主要性質
5.2.3 二叉樹的存儲結構
5.2.4 遍歷二叉樹
5.2.5 二叉樹其他常見操作的相關算法
5.3 樹和森林
5.3.1 樹的存儲結構
5.3.2 樹、森林與二叉樹的轉換
5.4 赫夫曼樹
5.4.1 赫夫曼樹的定義
5.4.2 赫夫曼編碼
5.5 樹的應用
5.6 習題
第6章 圖
6.1 圖的基本概念
6.2 圖的存儲表示
6.2.1 鄰接矩陣
6.2.2 鄰接表
6.3 圖的遍歷
6.3.1 深度優先遍歷
6.3.2 廣度優先搜索
6.4 最小生成樹
6.4.1 最小生成樹的基本概念
6.4.2 構造最小生成樹的Prim算法
6.4.3 構造最小生成樹的Kruskal算法
6.5 最短路徑
6.5.1 從一個源點到其他各點的最短路徑
6.5.2 每對頂點之間的最短路徑
6.6 拓撲排序
6.6.1 拓撲排序的概念
6.6.2 拓撲排序算法
6.7 圖的應用
6.8 習題
第7章 查找
7.1 基本概念與術語
7.2 線性表查找
7.2.1 順序查找
7.2.2 折半查找
7.2.3 分塊查找
7.3 二叉排序樹
7.3.1 二叉排序樹的定義
7.3.2 二叉排序樹的插入和生成
7.3.3 二叉排序樹的刪除操作
7.3.4 二叉排序樹的查找
7.4 雜湊表查找
7.4.1 雜湊表與雜湊方法
7.4.2 雜湊函數的構造方法
7.4.3 處理衝突的方法
7.5 應用舉例
7.6 習題
第8章 排序
8.1 排序的概念
8.2 插入排序
8.2.1 直接插入排序
8.2.2 希爾排序
8.3 交換排序
8.3.1 冒泡排序
8.3.2 快速排序
8.4 選擇排序
8.4.1 簡單選擇排序
8.4.2 堆排序
8.5 二路歸併排序
8.6 基數排序
8.7 應用舉例
8.8 習題
第9章 綜合實例——旅遊景區信息
管理系統
9.1 項目需求
9.2 知識目標
9.3 系統功能設計
9.4 資料結構
9.5 程式清單
第10章 實驗
實驗一 單鏈表操作
實驗二 棧
實驗三 佇列
實驗四 二叉樹
實驗五 圖的遍歷操作
實驗六 查找
實驗七 排序
參考文獻