數(shù)據(jù)結(jié)構(gòu)(C語言版)(第5版)/21世紀高等學(xué)校計算機基礎(chǔ)實用規(guī)劃教材
定 價:39.5 元
- 作者:鄧文華,謝勝利 著
- 出版時間:2018/2/1
- ISBN:9787302491095
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP311.12
- 頁碼:249
- 紙張:膠版紙
- 版次:5
- 開本:16開
本書對常用的數(shù)據(jù)結(jié)構(gòu)作了系統(tǒng)的介紹,概念論述清晰,注重實際應(yīng)用。全書共分9章,依次介紹了數(shù)據(jù)結(jié)構(gòu)的基本概念、線性表、棧和隊列、串和數(shù)組、樹和二叉樹、圖結(jié)構(gòu)以及查找和排序等基本運算,第9章設(shè)計了10個實驗,基本涵蓋了主要的數(shù)據(jù)結(jié)構(gòu)與算法。全書用C語言作為算法描述語言,每一章均附有典型例題與小結(jié),便于總結(jié)與提高。
本書敘述簡潔,深入淺出,注重實踐和應(yīng)用,一書兩用(理論與實驗),主要面向應(yīng)用型大學(xué)計算機類專業(yè)的學(xué)生,也可以作為大學(xué)非計算機專業(yè)學(xué)生的選修課教材和計算機應(yīng)用技術(shù)人員的自學(xué)參考書。
實戰(zhàn)性。所有內(nèi)容都用案例引入,通俗易懂。
流行性。書中講解的都是JavaSE開發(fā)過程中教材+練習(xí)冊+上機指導(dǎo)
53個實例,10道上機實驗題,306道復(fù)習(xí)題
前言
本書以第4版為基礎(chǔ),在廣泛聽取廣大讀者的意見與建議的情況下修改而成。本版主要對第4版中的一些描述、筆誤、解釋等進行了訂正,取消了一些過時的內(nèi)容,簡化了使用不多的內(nèi)容,刪除了第9章“綜合應(yīng)用實例”,增加了新的第9章“實驗”。
“數(shù)據(jù)結(jié)構(gòu)”是計算機程序設(shè)計的重要理論基礎(chǔ),是計算機及其應(yīng)用專業(yè)的一門重要基礎(chǔ)課程和核心課程。它不僅是計算機軟件專業(yè)課程的先導(dǎo),而且逐漸為其他工科類專業(yè)所重視。全書共分9章,第1章敘述數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)和算法等基本概念; 第2章至第6章分別討論了線性表、棧和隊列、串和數(shù)組、樹和二叉樹以及圖等基本數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)及其應(yīng)用; 第7章和第8章分別討論了查找和排序操作的各種實現(xiàn)方法及其特點; 第9章設(shè)計了10個實驗,基本涵蓋了主要的數(shù)據(jù)結(jié)構(gòu)與算法。
本書有以下特點:
(1) 基礎(chǔ)理論知識的闡述由淺入深、通俗易懂。內(nèi)容組織和編排以應(yīng)用為主線,略去了一些理論推導(dǎo)和數(shù)學(xué)證明的過程,淡化算法的設(shè)計分析和復(fù)雜的時空分析。
(2) 除第1章和第9章外都配有相應(yīng)的典型例題,列舉分析了眾多實用的例子,大多數(shù)算法都直接給出了其相應(yīng)的C語言設(shè)計程序,以便學(xué)生上機練習(xí)、實踐。
。3) 一書兩用,本書配有實驗一章,該章設(shè)計了10個實驗項目,基本涵蓋了數(shù)據(jù)結(jié)構(gòu)的主要內(nèi)容。所以本書既可作為數(shù)據(jù)結(jié)構(gòu)的理論教材,也可作為數(shù)據(jù)結(jié)構(gòu)的實驗教材。
(4) 全書配有電子講稿(PPT)、習(xí)題解答、實驗源程序及實驗參考答案,從而極大地方便了教師備課。
本書講課時數(shù)為60~90學(xué)時,上機時數(shù)為20~36學(xué)時。教師可根據(jù)學(xué)時、專業(yè)和學(xué)生的實際情況選講應(yīng)用實例。
本書由鄧文華任主編,謝勝利任副主編。其中,第5~9章由鄧文華修改、編寫; 第1~4章由謝勝利修改、編寫。其他執(zhí)筆者還有謝翠華、鄒華勝、畢保祥、戴大蒙、趙麗央、劉文斌、鄧澤川、李元華。
全書由鄧文華統(tǒng)稿。
由于編者水平有限,書中難免存在不妥之處,敬請讀者賜教指正。
編者
2018年1月
第1章緒論
1.1從問題到程序
1.2有關(guān)概念和術(shù)語
1.3算法及算法分析
1.3.1算法的特性
1.3.2算法的描述
1.3.3算法的性能分析與衡量
1.4關(guān)于數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)
1.5關(guān)于本書內(nèi)容的編寫說明
本章小結(jié)
習(xí)題1
第2章線性表
2.1線性表的邏輯結(jié)構(gòu)
2.1.1線性表的定義
2.1.2線性表的基本操作
2.2線性表的順序存儲及其操作的實現(xiàn)
2.2.1順序表
2.2.2順序表基本操作的實現(xiàn)
2.2.3順序表的其他操作舉例
2.3線性表的鏈?zhǔn)酱鎯捌洳僮鞯膶崿F(xiàn)
2.3.1單鏈表
2.3.2單鏈表基本操作的實現(xiàn)
2.3.3循環(huán)鏈表
2.3.4雙向鏈表
2.3.5單鏈表的其他操作舉例
2.4典型應(yīng)用
2.4.1一元多項式的存儲表示
2.4.2一元多項式的相加運算
本章小結(jié)
習(xí)題2
第3章棧和隊列
3.1棧
3.1.1棧的定義及其基本運算
3.1.2棧的存儲結(jié)構(gòu)和基本運算的實現(xiàn)
3.1.3棧的應(yīng)用舉例
3.1.4棧與遞歸的實現(xiàn)
3.2隊列
3.2.1隊列的定義及其基本運算
3.2.2隊列的存儲結(jié)構(gòu)和基本運算的實現(xiàn)
3.2.3隊列的應(yīng)用舉例
3.3典型例題
本章小結(jié)
習(xí)題3
第4章串和數(shù)組
4.1串
4.1.1串的基本概念
4.1.2串的基本運算
4.1.3串的存儲結(jié)構(gòu)及其基本運算的實現(xiàn)
4.1.4串的其他運算舉例
4.2數(shù)組
4.2.1數(shù)組的邏輯結(jié)構(gòu)和基本操作
4.2.2數(shù)組的存儲結(jié)構(gòu)
4.2.3稀疏矩陣
4.2.4矩陣的其他運算舉例
4.3典型例題
本章小結(jié)
習(xí)題4
第5章樹和二叉樹
5.1樹的概念和基本操作
5.1.1樹的定義和相關(guān)術(shù)語
5.1.2樹的基本操作
5.2二叉樹
5.2.1二叉樹的基本概念
5.2.2二叉樹的主要性質(zhì)
5.2.3二叉樹的存儲結(jié)構(gòu)與基本操作
5.2.4二叉樹的遍歷
5.2.5二叉樹的其他操作舉例
5.3樹和森林
5.3.1樹的存儲
5.3.2樹、森林與二叉樹的相互轉(zhuǎn)換
5.3.3樹和森林的遍歷
5.4最優(yōu)二叉樹——哈夫曼樹
5.4.1哈夫曼樹的基本概念
5.4.2哈夫曼樹的構(gòu)造算法
5.4.3哈夫曼編碼
5.4.4哈夫曼編碼的算法實現(xiàn)
5.5典型例題
本章小結(jié)
習(xí)題5
第6章圖
6.1圖的基本概念
6.1.1圖的定義和術(shù)語
6.1.2圖的基本操作
6.2圖的存儲結(jié)構(gòu)
6.2.1鄰接矩陣
6.2.2鄰接表
6.3圖的遍歷
6.3.1深度優(yōu)先搜索
6.3.2廣度優(yōu)先搜索
6.4圖的應(yīng)用
6.4.1最小生成樹
6.4.2最短路徑
6.4.3拓撲排序
6.5典型例題
本章小結(jié)
習(xí)題6
第7章查找
7.1查找的基本概念與術(shù)語
7.2靜態(tài)查找表
7.2.1靜態(tài)查找表的結(jié)構(gòu)
7.2.2順序查找
7.2.3有序表的折半查找
7.2.4分塊查找
7.3動態(tài)查找表
7.4哈希表
7.4.1哈希表與哈希方法
7.4.2常用的哈希函數(shù)構(gòu)造方法
7.4.3處理沖突的方法
7.4.4哈希表的查找算法
7.4.5哈希表的性能分析
7.5典型例題
本章小結(jié)
習(xí)題7
第8章排序
8.1排序的基本概念
8.2三種簡單的排序方法
8.2.1直接插入排序
8.2.2冒泡排序
8.2.3簡單選擇排序
8.3希爾排序
8.4快速排序
8.5堆排序
8.6歸并排序
8.7基數(shù)排序
8.7.1多關(guān)鍵碼排序
8.7.2鏈?zhǔn)交鶖?shù)排序
8.8各種排序方法的比較與討論
8.9典型例題
本章小結(jié)
習(xí)題8
第9章實驗
實驗1順序表的基本操作
實驗2鏈表的基本操作
實驗3棧的基本操作
實驗4隊列的基本操作
實驗5字符串的基本操作
實驗6二叉樹的基本操作
實驗7樹的遍歷和哈夫曼樹
實驗8圖的基本操作
實驗9排序
實驗10查找
參考文獻