數據結構實例教程

數據結構實例教程

該書系統介紹了數據結構相關理論和基本算法。主要內容包括線性表、棧、佇列、串、數組、廣義表、樹、二叉樹、圖、查找和排序。全書提供了12l道例題,430道習題,7個綜合實例,13個實驗,1個綜合測試。可作為大專院校計算機專業和電子信息專業的本、專科學生的教材和參考書,亦適合於工程技術人員參考。

基本信息

基本信息

作者:楊曉光
出版社:清華大學出版社
頁碼:333 頁
出版日期:2008年
ISBN:9787811234053
裝幀:平裝
開本:16
叢書名:高等學校計算機科學與技術教材
市場價:¥34.00

圖書目錄

第1章 數據結構概述
1.1 數據結構研究的內容
1.2 基本概念和術語
1.3 抽象數據類型
1.4 算法分析
1.4.1 算法及性質
1.4.2 算法度量及分析
1.5 習題
1.6 實驗
第2章 線性表
2.1 線性表的定義及其操作
2.1.1 線性表的定義
2.1.2 線性表的抽象數據類型
2.2 順序表
2.2.1 順序表的定義
2.2.2 順序表的基本操作
2.3 鍊表
2.3.1 單鍊表
2.3.2 循環鍊表
2.3.3 雙向鍊表
2.3.4 靜態鍊表
2.4 順序表與鍊表的比較
2.5 綜合實例——文具店的貨品管理
2.6 習題
2.7 實驗
第3章 棧和佇列
3.1 棧的定義及其操作
3.1.1 棧的定義
3.1.2 棧的抽象數據類型
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 棧與佇列的套用
3.7.1 數制轉換
3.7.2 表達式計算
3.7.3 輸入輸出緩衝區
3.8 綜合實例——停車場管理
3.9 習題
3.10 實驗
第4章 串
4.1 串的基本概念及其操作
4.1.1 串的基本概念
4.1.2 串的抽象數據類型
4.2 串的順序存儲結構
4.2.1 串的定長順序存儲表示
4.2.2 串的堆存儲表示
4.3 串的鏈式存儲結構
4.4 串的模式匹配
4.4.1 Bmte-Force算法
4.4.2 kmp算法
4.5 綜合實例——簡易文本編輯軟體
4.6 習題
4.7 實驗
第5章 數組和廣義表
5.1 數組的基本概念及其操作
5.1.1 數組的基本概念
5.1.2 數組的抽象數據類型
5.2 數組的順序存儲
5.3 特殊矩陣及其壓縮存儲
5.3.1 對稱矩陣與三角矩陣
5.3.2 對角矩陣
5.4 稀疏矩陣
5.4.1 三元組順序表表示
5.4.2 十字鍊表表示
5.5 廣義表
5.5.1 廣義表的基本概念
5.5.2 廣義表的抽象數據類型
5.5.3 廣義表的存儲結構
5.6 綜合實例——n階魔方
5.7 習題
5.8 實驗
第6章 樹和二叉樹
6.1 樹
6.1.1 樹的定義
6.1.2 樹的表示方法
6.1.3 樹的抽象數據類型
6.1.4 樹的存儲結構
6.2 二叉樹
6.2.1 二叉樹的定義
6.2.2 二叉樹的性質
6.2.3 二叉樹的存儲結構
6.2.4 二叉樹的遍歷
6.3 線索二叉樹
6.3.1 線索二叉樹的定義
6.3.2 線索二叉樹的操作
6.4 森林
6.4.1 樹、森林與二叉樹的轉換
6.4.2 樹和森林的遍歷
6.5 哈夫曼樹及其套用
6.5.1 哈夫曼樹
6.5.2 哈夫曼編碼
6.6 綜合實例——高校社團管理
6.7 習題
6.8 實驗
第7章 圖
7.1 圖的基本概念
7.1.1 圖的定義
7.1.2 圖的抽象數據類型
7.2 圖的存儲結構
7.2.1 鄰接矩陣
7.2.2 鄰接表
7.2.3 十字鍊表
7.2.4 鄰接多重表
7.3 圖的遍歷
7.3.1 深度優先搜尋
7.3.2 廣度優先搜尋
7.4 最小生成樹
7.4.1 普里姆算法
7.4.2 克魯斯卡爾算法
7.5 最短路徑
7.5.1 從某個頂點到其餘頂點的最短路徑
7.5.2 每對頂點之間的最短路徑
7.6 拓撲排序和關鍵路徑
7.6.1 拓撲排序
7.6.2 關鍵路徑
7.7 綜合實例——故宮導遊諮詢
7.8 習題
7.9 實驗
第8章 查找
8.1 查找的基本概念
8.2 順序查找
8.3 折半查找
8.4 分塊查找
8.5 二叉排序樹
8.5.1 二叉排序樹的定義
8.5.2 二叉排序樹的基本操作
8.6 B一樹
8.6.1 B一樹的定義
8.6.2 B一樹的基本操作
8.7 哈希表
8.7.1 哈希表的定義
8.7.2 哈希函式的構造方法
8.7.3 處理衝突的方法
8.7.4 哈希表的基本操作
8.8 綜合實例——十大流行歌手排行榜
8.9 習題
8.10 實驗
第9章排序
附錄
參考文獻
……

圖書序言

數據結構是計算機專業和電子信息專業的重要專業基礎課程之一。在計算機課程體系中起到承上啟下的作用,它是作業系統、軟體工程、資料庫、編譯原理、計算機圖形學等課程的基礎。近年來,隨著計算機套用領域的不斷拓展,許多非計算機專業也把數據結構作為重要的選修課程之一,以期加強學生程式設計能力。
作者在多年的數據結構課程教學實踐中發現,初學者普遍感覺數據結構抽象難懂,對於數據結構套用於何處、如何套用也比較迷茫。作者也一直在思考這個問題,經過深入分析以後,感到造成這一現象的原因是,現在的教科書多以抽象理論講解為主,不考慮套用,與實際套用脫節。在本書編寫過程中,嘗試引用一些實用案例,這些案例都是我們身邊發生的事情,既生動有趣,又能詮釋數據結構理論,從而變抽象為具體。
除此之外,本書還具有以下特色。
(1)在講解每種新類型時,由一個貼近生活實際的小例子引入,如以奧運會門票預訂為例引入佇列,先給學生一個感性認識,然後再過渡到抽象的理論,使學生易於理解、易於接受。
(2)在講解各種數據結構與算法的同時,給出大量例題。通過例題進一步闡述數據結構理論,同時引導學生靈活運用理論解決問題,從而達到舉一反三的目的。
(3)在每一章的最後部分提供一個綜合實例,從實用角度詮釋如何用數據結構解決現實生活中存在的問題,如用查找和排序生成“十大流行歌手排行榜”。這樣會給學生以學以致用的感受,激發他們的學習興趣。
(4)在每章的最後提供了大量精選習題。通過這些習題的訓練,可使學生鞏固所學知識,進而靈活運用所學知識。
(5)每章還提供一至兩個實驗,便於學生上機練習。
(6)附錄A給出一個綜合測試,用於檢驗學習效果。
(7)書中所有算法都由C語言實現(均在Visual C++6.O下調試通過),並有詳盡的注釋,有些還給出測試程式,供學生驗證和模仿,以加深學生對算法的理解。
全書共分九章。第1章介紹數據結構、抽象數據類型與算法的一些基本概念;第2章介紹線性表的邏輯結構和兩種存儲結構(順序表和鍊表),以及基本操作的實現;第3章介紹棧和佇列,討論棧和佇列特點,相應的存儲結構及基本操作的實現,給出棧和佇列的一些套用實例;第4章介紹串的基本概念、模式匹配算法,討論串的各種存儲結構,以及基本操作的實現;第5章介紹數組和廣義表的基本概念,討論數組和廣義表的存儲結構,以及特殊矩陣、稀疏矩陣和廣義表的基本運算;第6章介紹樹與二叉樹,包括樹與二叉樹的定義與表示,討論樹與二叉樹的存儲結構,以及樹與二叉樹的遍歷和相互轉換;第7章介紹圖,包括圖的基本概念,討論圖的存儲結構,以及圖的一些套用;第8章介紹各種常見的查找算法及實現;第9章介紹各種常見的內部排序算法及實現;附錄A為綜合測試。

相關詞條

相關搜尋

熱門詞條

聯絡我們