本書對數(shù)據(jù)結(jié)構(gòu)的概念和原理進(jìn)行了闡述,對數(shù)據(jù)結(jié)構(gòu)的基本運(yùn)算進(jìn)行了分析,并給出了詳細(xì)的實現(xiàn)過程。全書共分11章,內(nèi)容包括:緒論、線性表、棧、隊列、串、多維數(shù)組和廣義表、樹和二叉樹、圖、查找、排序、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計等,并在附錄部分介紹了數(shù)據(jù)結(jié)構(gòu)實驗系統(tǒng)的組裝。
本書集教學(xué)內(nèi)容、習(xí)題、實驗和課程設(shè)計于一體,書中的重要算法均給出了完整的C/C++語言源程序,并全部在VC++環(huán)境中運(yùn)行通過,一書在手就能方便地進(jìn)行“數(shù)據(jù)結(jié)構(gòu)”課程的理論學(xué)習(xí)和實驗、課程設(shè)計等實踐性環(huán)節(jié)的訓(xùn)練。
本書適合作為高等院校計算機(jī)類專業(yè)數(shù)據(jù)結(jié)構(gòu)課程的教材,也可以作為成人教育、自學(xué)考試和從事計算機(jī)應(yīng)用的工程技術(shù)人員的參考用書。
陳元春:男,1949年生, 上海市人,曾任職于上海電機(jī)學(xué)院電子信息學(xué)院副教授,教學(xué)督導(dǎo),現(xiàn)已退休,從事高等教學(xué)工作近30年,先后擔(dān)任近二十門高等教學(xué)課程的授課工作,編寫過多種教材和教學(xué)參考書,五次被評為上海市機(jī)電一局(現(xiàn)電器集團(tuán)公司)優(yōu)秀教育工作者和先進(jìn)工作者。
1.1什么是數(shù)據(jù)結(jié)構(gòu)
1.1.1從數(shù)據(jù)結(jié)構(gòu)實驗演示系統(tǒng)認(rèn)識數(shù)據(jù)結(jié)構(gòu)
1.1.2數(shù)據(jù)結(jié)構(gòu)研究的內(nèi)容
1.2數(shù)據(jù)的邏輯結(jié)構(gòu)
1.2.1基本概念
1.2.2邏輯結(jié)構(gòu)的描述.
1.3數(shù)據(jù)的存儲結(jié)構(gòu)
1.4算法和算法的效率
1.4.1算法.
1.4.2算法的效率
1.4.3算法效率的評價
小結(jié).
實驗.
驗證性實驗1數(shù)組、指針、結(jié)構(gòu)體練習(xí)
自主設(shè)計實驗1學(xué)生成績分析程序
習(xí)題1
第2章線性表
2.1線性表的定義與運(yùn)算.
2.1.1線性表的定義.
2.1.2線性表的基本操作
2.2線性表的順序存儲
2.2.1順序表
2.2.2順序表上基本運(yùn)算的實現(xiàn)
2.3線性表的鏈?zhǔn)酱鎯?br />2.3.1線性鏈表
2.3.2線性鏈表上基本運(yùn)算的實現(xiàn)
2.3.3循環(huán)鏈表
2.3.4雙向鏈表
小結(jié).
實驗.
驗證性實驗2線性表子系統(tǒng).
自主設(shè)計實驗2多項式求和.
實用數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)第四版
習(xí)題2
第3章棧.
3.1棧的定義和運(yùn)算
3.1.1棧的定義和特性
3.1.2棧的運(yùn)算
3.2棧的存儲和實現(xiàn)
3.2.1順序棧
3.2.2鏈棧
3.3棧的應(yīng)用舉例
3.3.1數(shù)制轉(zhuǎn)換
3.3.2表達(dá)式求值.
3.3.3子程序調(diào)用.
3.3.4遞歸調(diào)用
3.3.5中斷處理和現(xiàn)場保護(hù)
小結(jié).
實驗.
驗證性實驗3棧子系統(tǒng)
自主設(shè)計實驗3后綴表達(dá)式求值
習(xí)題3
第4章隊列.
4.1隊列的定義和運(yùn)算
4.1.1隊列的定義和特性
4.1.2隊列的基本運(yùn)算
4.2隊列的存儲和實現(xiàn)
4.2.1順序隊列
4.2.2鏈隊列
4.3隊列應(yīng)用舉例
小結(jié).
實驗.
驗證性實驗4隊列子系統(tǒng)
自主設(shè)計實驗4循環(huán)隊列的實現(xiàn)和運(yùn)算
習(xí)題4
第5章串.
5.1串的定義和運(yùn)算
5.1.1串的定義
5.1.2串的輸入與輸出
5.1.3串的運(yùn)算
目錄
5.2串的表示和實現(xiàn)
5.2.1定長順序存儲.
5.2.2鏈接存儲
5.2.3串的堆分配存儲結(jié)構(gòu)
5.3串運(yùn)算的實現(xiàn)
小結(jié).
實驗.
驗證性實驗5串子系統(tǒng)
自主設(shè)計實驗5字符串分割處理
習(xí)題5
第6章多維數(shù)組和廣義表
6.1多維數(shù)組
6.1.1邏輯結(jié)構(gòu)
6.1.2存儲結(jié)構(gòu)
6.2特殊矩陣的壓縮存儲
6.2.1對稱矩陣
6.2.2三角矩陣
6.3稀疏矩陣
6.3.1稀疏矩陣的存儲.
6.3.2稀疏矩陣的算法.
6.4廣義表
6.4.1廣義表的定義和運(yùn)算
6.4.2廣義表的首尾存儲法
6.4.3廣義表的算法
小結(jié)
實驗
驗證性實驗6稀疏矩陣和廣義表子系統(tǒng).
自主設(shè)計實驗6稀疏矩陣十字鏈表的存儲.
習(xí)題6
第7章樹和二叉樹
7.1樹的定義和術(shù)語
7.1.1樹的定義及表示法
7.1.2基本術(shù)語
7.2二叉樹
7.2.1二叉樹的定義
7.2.2二叉樹的性質(zhì)
7.2.3二叉樹的存儲
7.3遍歷二叉樹和線索二叉樹.
7.3.1遍歷二叉樹
實用數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)第四版
7.3.2恢復(fù)二叉樹
7.3.3線索二叉樹
7.4二叉樹的轉(zhuǎn)換.
7.4.1一般樹轉(zhuǎn)換為二叉樹
7.4.2森林轉(zhuǎn)換為二叉樹
7.4.3二叉樹轉(zhuǎn)換為樹和森林
7.5二叉樹的應(yīng)用.
7.5.1二叉樹的基本應(yīng)用
7.5.2標(biāo)識符樹與表達(dá)式
7.6哈夫曼樹及其應(yīng)用
7.6.1哈夫曼樹的引入.
7.6.2哈夫曼樹的建立.
7.6.3哈夫曼編碼
小結(jié)
實驗
驗證性實驗7二叉樹子系統(tǒng)
自主設(shè)計實驗7標(biāo)識符樹與表達(dá)式求值.
習(xí)題7
第8章圖
8.1圖的定義和基本操作
8.1.1圖的定義
8.1.2圖的相關(guān)術(shù)語
8.1.3圖的基本操作
8.2圖的存儲表示.
8.2.1鄰接矩陣
8.2.2鄰接表.
8.2.3十字鏈表
8.3圖的遍歷
8.3.1深度優(yōu)先搜索
8.3.2廣度優(yōu)先搜索
8.4圖的連通性
8.4.1無向圖的連通分量和生成樹
8.4.2*小生成樹
8.5*短路徑
8.6有向無環(huán)圖及其應(yīng)用
8.6.1拓?fù)渑判?br />8.6.2關(guān)鍵路徑
小結(jié)
實驗
驗證性實驗8圖子系統(tǒng)
自主設(shè)計實驗8*小生成樹
目錄
習(xí)題8
第9章查找
9.1查找的基本概念
9.2靜態(tài)查找表
9.2.1順序查找
9.2.2二分查找
9.2.3分塊查找
9.3動態(tài)查找表
9.3.1二叉排序樹
9.3.2平衡二叉樹
9.4哈希表
9.4.1哈希表與哈希方法
9.4.2哈希函數(shù)的構(gòu)造方法
9.4.3處理沖突的方法.
小結(jié)
實驗
驗證性實驗9查找子系統(tǒng)
自主設(shè)計實驗9哈希查找
習(xí)題9
第10章排序
10.1概述
10.2插入排序
10.2.1直接插入排序
10.2.2二分插入排序
10.2.3希爾排序.
10.3快速排序法
10.3.1冒泡排序.
10.3.2快速排序.
10.4選擇排序
10.4.1簡單選擇排序
10.4.2樹形選擇排序
10.4.3堆排序
10.5歸并排序
10.6各種排序方法的比較
小結(jié)
實驗
驗證性實驗10排序子系統(tǒng).
自主設(shè)計實驗10雙向冒泡排序
習(xí)題10.
實用數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)第四版
第11章數(shù)據(jù)結(jié)構(gòu)課程設(shè)計
11.1課程設(shè)計的目的與內(nèi)容
11.1.1課程設(shè)計的目的
11.1.2課程設(shè)計的內(nèi)容
11.1.3課程設(shè)計報告
11.1.4課程設(shè)計的考核
11.2課程設(shè)計的要求.
11.3課程設(shè)計題目
課題1多項式運(yùn)算
課題2浮點數(shù)的IEEE754標(biāo)準(zhǔn)格式轉(zhuǎn)換
課題3稀疏矩陣的運(yùn)算
課題4非遞歸求解Hanoi問題.
課題5迷宮問題
課題6非遞歸方式遍歷二叉樹.
課題7中綴表達(dá)式轉(zhuǎn)后綴并求值
課題8求字符串中**長度的對稱子串.
課題9二叉樹的中序線索化及其非棧非遞歸遍歷
課題10求二叉樹中任意兩個結(jié)點間的距離
課題11把二叉排序樹轉(zhuǎn)換成有序的雙向鏈表.
課題12在二叉樹中找出和為某一值的所有路徑.
課題13判斷整數(shù)序列是否為二叉排序樹的后序遍歷序列.
課題14有向無環(huán)圖的判定及拓?fù)渑判?br />課題15求AOE網(wǎng)的關(guān)鍵路徑.
課題16求有向圖的強(qiáng)連通分量
課題17基于十字鏈表有向圖的遍歷.
課題18求*小生成樹
課題19Dijkstra算法求*短路徑
課題20雙拼輸入法的快速定位
課題21連通問題
課題22哈希查找的實現(xiàn)與分析
課題23文件記錄讀取并排序
課題24平衡二叉樹的構(gòu)造及輸出
課題25馬對棋盤方格的遍歷
課題26求兩個字符串的擴(kuò)展距離
課題27求汽車*少加油次數(shù)問題
課題28大整數(shù)運(yùn)算
附錄A數(shù)據(jù)結(jié)構(gòu)實驗系統(tǒng)的組裝.
參考文獻(xiàn)