出版時間:2010-10 出版社:大連理工大學(xué)出版社 作者:曹春萍 主編 頁數(shù):224
內(nèi)容概要
隨著計算機科學(xué)技術(shù)的發(fā)展和其應(yīng)用領(lǐng)域的不斷擴大,計算機科學(xué)與技術(shù)學(xué)科在國民經(jīng)濟建設(shè)中的地位也越來越重要。計算機面對的數(shù)據(jù)結(jié)構(gòu)愈來愈復(fù)雜,已由純粹的數(shù)值發(fā)展到字符、表格和圖像等各種具有一定結(jié)構(gòu)的數(shù)據(jù)。為了設(shè)計出高效、準確、適應(yīng)性和可重用性強的程序,就必須對數(shù)據(jù)的性質(zhì)和數(shù)據(jù)元素間的關(guān)系進行深入研究,因而研究數(shù)據(jù)在計算機中的表示方法、存儲方法以及對其操作處理的方法,就構(gòu)成了數(shù)據(jù)結(jié)構(gòu)課程的主要內(nèi)容。
本教材共分9章:緒論;線性表;棧和隊列;字符串、數(shù)組和矩陣;樹和二叉樹;圖;查找;排序;數(shù)據(jù)結(jié)構(gòu)應(yīng)用實例。研究解決如下問題:一個具體問題的邏輯數(shù)據(jù)結(jié)構(gòu)是什么?適宜選用什么樣的存儲結(jié)構(gòu)?采用什么樣的操作實現(xiàn)算法效率更高?由于目前C語言應(yīng)用廣泛,而且數(shù)據(jù)結(jié)構(gòu)的算法本身又是底層的基本算法,所以我們采用了大家熟悉的C語言去刻畫算法。
本教材建設(shè)的理念是“實用、適用”。由于算法與數(shù)據(jù)結(jié)構(gòu)是一對不可分割的孿生兄弟,不了解施加于數(shù)據(jù)上的算法就不知道怎樣去構(gòu)造數(shù)據(jù);反之,若不深入研究作為其基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu),就無法設(shè)計出高效的算法。所以書中的例題在選擇上力求簡單且具有代表性,例題講解注重數(shù)據(jù)結(jié)構(gòu)和算法的結(jié)合,這樣做一方面有利于學(xué)生對知識點的理解;另一方面有利于培養(yǎng)學(xué)生“應(yīng)用”數(shù)據(jù)結(jié)構(gòu)解決問題的能力,而不是“記憶”數(shù)據(jù)結(jié)構(gòu)的能力。與此同時,通過算法訓(xùn)練提高學(xué)生的思維能力,通過程序設(shè)計的技能訓(xùn)練促進學(xué)生的綜合應(yīng)用能力和專業(yè)素質(zhì)的提高。
書籍目錄
第1章 緒論
1.1 數(shù)據(jù)結(jié)構(gòu)
1.1.1 用計算機求解問題與數(shù)據(jù)結(jié)構(gòu)
1.1.2 基本概念和術(shù)語
1.1.3 數(shù)據(jù)的邏輯結(jié)構(gòu)
1.1.4 數(shù)據(jù)的存儲結(jié)構(gòu)
1.1.5 數(shù)據(jù)的運算
1.2 數(shù)據(jù)類型與抽象數(shù)據(jù)類型
1.3 算法和算法分析
1.3.1 算法的概念
1.3.2 算法的描述
1.3.3 算法的時間和空間復(fù)雜度
小結(jié)
習(xí)題
第2章 線性表
2.1 線性表的基本概念
2.1.1 線性表的定義
2.1.2 線性表的特點
2.1.3 線性表的抽象數(shù)據(jù)類型
2.2 線性表的順序存儲和操作實現(xiàn)
2.2.1 順序表
2.2.2 順序表的基本操作
2.3 線性表的鏈式存儲和操作實現(xiàn)
2.3.1 單鏈表
2.3.2 單向循環(huán)鏈表
2.3.3 雙向鏈表
2.3.4 雙向循環(huán)鏈表
小結(jié)
習(xí)題
第3章 棧和隊列
3.1 棧
3.1.1 棧的基本概念
3.1.2 棧的存儲結(jié)構(gòu)和操作實現(xiàn)
3.1.3 棧的應(yīng)用實例——表達式求值
3.2 隊列
3.2.1 隊列的基本概念
3.2.2 隊列的存儲結(jié)構(gòu)和操作實現(xiàn)
3.2.3 隊列的應(yīng)用實例——舞伴問題
小結(jié)
習(xí)題
第4章 字符串、數(shù)組和矩陣
4.1 串
4.1.1 串的基本概念和抽象數(shù)據(jù)類型
4.1.2 串的靜態(tài)存儲和操作實現(xiàn)
4.1.3 串的動態(tài)存儲和操作實現(xiàn)
4.2 串的模式匹配
4.2.1 Brute—Force算法
4.2.2 KMP算法
4.3 數(shù)組
4.3.1 數(shù)組的定義
4.3.2 數(shù)組的順序存儲及實現(xiàn)
4.4 矩陣的壓縮存儲
4.4.1 特殊矩陣的壓縮存儲
4.4.2 稀疏矩陣的壓縮存儲
小結(jié)
習(xí)題
第5章 樹和二叉樹
5.1 樹和二叉樹的基本概念
5.1.1 樹的定義及相關(guān)術(shù)語
5.1.2 二叉樹的定義及特殊二叉樹
5.2 二叉樹的性質(zhì)和存儲結(jié)構(gòu)
5.2.1 二叉樹的性質(zhì)
5.2.2 二叉樹的存儲結(jié)構(gòu)
5.3 二叉樹的遍歷及線索化
5.3.1 遍歷二叉樹
5.3.2 線索二叉樹
……
第6章 圖
第7章 查找
第8章 排序
第9章 數(shù)據(jù)結(jié)構(gòu)應(yīng)用實例
章節(jié)摘錄
數(shù)據(jù)結(jié)構(gòu)的研究范圍主要涉及數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)和操作的實現(xiàn),以及常用的查找和排序技術(shù),其內(nèi)容是程序設(shè)計的基礎(chǔ),也是設(shè)計和實現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)系統(tǒng)及其他系統(tǒng)程序和大型應(yīng)用程序的重要基礎(chǔ)。通過本章的學(xué)習(xí),讀者應(yīng)能掌握如下主要內(nèi)容:(1)數(shù)據(jù)、數(shù)據(jù)元素、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)的概念以及邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)間的關(guān)系;(2)數(shù)據(jù)類型和抽象數(shù)據(jù)類型的概念;(3)算法的定義、特性以及算法的時間復(fù)雜度和空間復(fù)雜度?! ?.1數(shù)據(jù)結(jié)構(gòu) 1.1.1用計算機求解問題與數(shù)據(jù)結(jié)構(gòu) 計算機常被人們稱為數(shù)據(jù)處理器。在計算機發(fā)展的初期,計算機所處理的數(shù)據(jù)基本上都是數(shù)值型數(shù)據(jù),完成的操作基本上都是數(shù)值計算。例如,大家熟悉的“雞兔同籠”問題等。然而,隨著計算機軟、硬件的發(fā)展,計算機的應(yīng)用范圍在不斷擴大,計算機處理的對象已不再是單純的數(shù)值型數(shù)據(jù),完成的操作也不局限于數(shù)值計算,更多的是非數(shù)值計算。此時,用計算機處理問題就必須首先考慮數(shù)據(jù)的組織問題。 ……
圖書封面
評論、評分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu) PDF格式下載