出版時(shí)間:2009-8 出版社:機(jī)械工業(yè)出版社 作者:吳小平,馬桂媛 編著 頁數(shù):263
前言
“數(shù)據(jù)結(jié)構(gòu)”是計(jì)算機(jī)及相關(guān)專業(yè)的一門重要的專業(yè)基礎(chǔ)課,也是部分理工科專業(yè)的選修課程。數(shù)據(jù)結(jié)構(gòu)課程的主要任務(wù)是,研究現(xiàn)實(shí)世界中各種數(shù)據(jù)對(duì)象的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存儲(chǔ)表示以及在不同存儲(chǔ)結(jié)構(gòu)上的相應(yīng)算法,初步掌握算法的時(shí)間分析技術(shù)和空間分析技術(shù),并通過實(shí)際編程訓(xùn)練為開發(fā)復(fù)雜程序打下良好基礎(chǔ)?! ?shù)據(jù)結(jié)構(gòu)廣泛應(yīng)用于計(jì)算機(jī)的各個(gè)領(lǐng)域。在計(jì)算機(jī)操作系統(tǒng)、計(jì)算機(jī)圖形學(xué)、軟件工程、多媒體技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)、編譯原理、數(shù)據(jù)庫原理和技術(shù)、計(jì)算機(jī)輔助設(shè)計(jì)、人工智能等課程中普遍使用數(shù)據(jù)結(jié)構(gòu)的理論和方法來描述和解決問題。因此,學(xué)好數(shù)據(jù)結(jié)構(gòu)課程是學(xué)好其他后續(xù)計(jì)算機(jī)課程,特別是計(jì)算機(jī)軟件方面課程的基礎(chǔ),同時(shí)也為今后走上工作崗位從事大型計(jì)算機(jī)軟件開發(fā)奠定了基礎(chǔ)?! ”緯卜?1章。第1章主要介紹數(shù)據(jù)結(jié)構(gòu)的基本概念和相關(guān)術(shù)語,并簡單介紹了進(jìn)行算法描述和算法分析的基本方法;第2~5章介紹線性結(jié)構(gòu)(線性表、棧、隊(duì)列、數(shù)組、串)的邏輯特征,存儲(chǔ)表示方法和基本操作的實(shí)現(xiàn)算法,以及一些應(yīng)用實(shí)例;第6~8章介紹非線性結(jié)構(gòu)(廣義表、樹、圖)的邏輯特征,存儲(chǔ)表示方法和基本操作的實(shí)現(xiàn)算法,以及應(yīng)用實(shí)例;第9章和第10章分別介紹非數(shù)值計(jì)算領(lǐng)域中的兩種非常重要的操作,即查找和排序;’第11章介紹一些常用文件的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)特征。各章內(nèi)容都有相對(duì)獨(dú)立的部分,以便針對(duì)不同專業(yè)或不同層次的需要組織教學(xué)?! ”緯捎煤喕腸++程序設(shè)計(jì)語言作為算法的描述語言,與目前多數(shù)學(xué)校采用c++語言作為教學(xué)語言相銜接。但考慮到本書的學(xué)習(xí)對(duì)象主要是低年級(jí)學(xué)生,因此除了使用類模板描述數(shù)據(jù)類型以外,只使用了c++相對(duì)簡單的內(nèi)容來描述算法,以便于學(xué)生理解和接受。 本書的所有算法都已在VC++6.0環(huán)境下上機(jī)調(diào)試通過,但為了節(jié)省篇幅,所有算法都以函數(shù)形式給出。若讀者要運(yùn)行這些算法,除了需要編寫主函數(shù)來調(diào)用它們以外,還必須包含頭文件和添加必要的變量說明。本書選用的例題都針對(duì)特定的數(shù)據(jù)結(jié)構(gòu),便于學(xué)生學(xué)習(xí)使用數(shù)據(jù)結(jié)構(gòu)原理解決實(shí)際問題的方法?! ”緯ㄗh理論講授50~60個(gè)學(xué)時(shí),上機(jī)實(shí)踐20~30個(gè)學(xué)時(shí)。在實(shí)際教學(xué)過程中,授課教師可以根據(jù)學(xué)生的專業(yè)特點(diǎn)和不同層次進(jìn)行適當(dāng)增刪?! ∮捎谧髡咚接邢?,書中難免有不妥之處,敬請(qǐng)讀者批評(píng)指正。
內(nèi)容概要
本書共分11章。第1章介紹數(shù)據(jù)結(jié)構(gòu)和算法的概念及相關(guān)術(shù)語。第2~5章介紹線性結(jié)構(gòu)。第6~8章介紹非線性結(jié)構(gòu)。第9章和第10章分別介紹了查找和排序。第11章介紹了一些常用文件。各章內(nèi)容都有相對(duì)獨(dú)立的部分,以便針對(duì)不同專業(yè)或不同層次的需要組織教學(xué)。 本書可作為高等院校計(jì)算機(jī)類專業(yè)和相關(guān)專業(yè)數(shù)據(jù)結(jié)構(gòu)課程的教材,也可以供從事計(jì)算機(jī)應(yīng)用工作的工程技術(shù)人員參考?!?/pre>書籍目錄
出版說明前言第1章 緒論 1.1 數(shù)據(jù)結(jié)構(gòu)的研究內(nèi)容 1.2 數(shù)據(jù)結(jié)構(gòu)的基本概念和相關(guān)術(shù)語 1.3 算法和算法分析 1.3.1 算法的概念 1.3.2 算法效率和存儲(chǔ)量的估算方法 1.4 習(xí)題第2章 線性表 2.1 線性表的基本概念 2.2 線性表的順序存儲(chǔ)結(jié)構(gòu) 2.3 線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 2.3.1 線性鏈表 2.3.2 循環(huán)鏈表 2.3.3 雙向鏈表 2.3.4 靜態(tài)鏈表 2.4 一元多項(xiàng)式的表示和相加運(yùn)算 2.5 習(xí)題第3章 棧和隊(duì)列 3.1 ?! ?.1.1 棧的概念和抽象數(shù)據(jù)類型 3.1.2 棧的順序存儲(chǔ)結(jié)構(gòu) 3.1.3 棧的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 3.1.4 表達(dá)式求值 3.2 隊(duì)列 3.2.1 隊(duì)列的概念和抽象數(shù)據(jù)類型 3.2.2 隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 3.2.3 隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)——循環(huán)隊(duì)列 3.3 棧和隊(duì)列的應(yīng)用實(shí)例 3.3.1 停車場管理 3.3.2 銀行業(yè)務(wù)模擬 3.4 遞歸 3.4.1 遞歸的基本概念 3.4.2 遞歸算法設(shè)計(jì) 3.4.3 遞歸過程和遞歸工作?!?.5 習(xí)題第4章 數(shù)組和矩陣壓縮存儲(chǔ) 4.1 數(shù)組的邏輯特點(diǎn) 4.2 數(shù)組的存儲(chǔ)結(jié)構(gòu) 4.3 矩陣的壓縮存儲(chǔ) 4.3.1 特殊矩陣的壓縮存儲(chǔ)方法 4.3.2 稀疏矩陣的概念 4.3.3 稀疏矩陣的三元組表表示 4.3.4 稀疏矩陣的十字鏈表表示 4.4 習(xí)題第5章 串 5.1 串的基本概念 5.2 串的存儲(chǔ)結(jié)構(gòu) 5.2.1 串的順序存儲(chǔ)結(jié)構(gòu) 5.2.2 串的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 5.3 串操作的實(shí)現(xiàn) 5.4 串的模式匹配 5.4.1 簡單的模式匹配算法 5.4.2 KMP算法 5.5 建立詞索引表 5.6 習(xí)題第6章 廣義表 6.1 廣義表的基本概念 6.2 廣義表的存儲(chǔ)結(jié)構(gòu) 6.3 廣義表的基本運(yùn)算 6.4 多元多項(xiàng)式的表示 6.5 習(xí)題第7章 樹 7.1 樹的基本概念 7.1.1 樹的定義 7.1.2 樹的基本術(shù)語 7.1.3 樹的抽象數(shù)據(jù)類型 7.2 二叉樹的概念和存儲(chǔ)結(jié)構(gòu) 7.2.1 二叉樹的定義 7.2.2 二叉樹的性質(zhì) 7.2.3 二叉樹的存儲(chǔ)結(jié)構(gòu) 7.3 二叉樹的數(shù)據(jù)類型 7.4 二叉樹的遍歷……第8章 圖第9章 查找第10章 排序第11章 文件參考文獻(xiàn)章節(jié)摘錄
隨著計(jì)算機(jī)產(chǎn)業(yè)的發(fā)展,特別是計(jì)算機(jī)技術(shù)的高速發(fā)展和微型計(jì)算機(jī)的日益普及,計(jì)算機(jī)系統(tǒng)無論在硬件方面,還是在軟件方面都遠(yuǎn)遠(yuǎn)超過了人們對(duì)它的預(yù)料,它已廣泛滲透到人類社會(huì)的各個(gè)領(lǐng)域。現(xiàn)在的計(jì)算機(jī)已不再局限于處理純數(shù)值計(jì)算問題,而更多地用于控制、管理以及數(shù)據(jù)處理等領(lǐng)域。與此相對(duì)應(yīng),計(jì)算機(jī)處理的對(duì)象也由純粹的數(shù)值發(fā)展到諸如字符、表格、聲音、圖像、視頻等復(fù)雜且具有結(jié)構(gòu)的非數(shù)值數(shù)據(jù)。因此,在相應(yīng)程序的設(shè)計(jì)過程中,必須研究數(shù)據(jù)的特性和數(shù)據(jù)之間存在的內(nèi)在關(guān)系,才能設(shè)計(jì)出優(yōu)良的程序,這正是學(xué)習(xí)本課程的基本目的。“數(shù)據(jù)結(jié)構(gòu)”是一門綜合性的計(jì)算機(jī)專業(yè)基礎(chǔ)課,是介于數(shù)學(xué)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件之問的一門核心課程,其內(nèi)容不僅是一般程序設(shè)計(jì)(特別是非數(shù)值計(jì)算程序設(shè)計(jì))的基礎(chǔ),而且是設(shè)計(jì)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)以及其他復(fù)雜程序的重要基礎(chǔ)。 1.1 數(shù)據(jù)結(jié)構(gòu)的研究內(nèi)容 一般來說,使用計(jì)算機(jī)解決問題大致需要以下幾個(gè)步驟:首先從具體問題中抽象出一個(gè)適當(dāng)?shù)臄?shù)學(xué)模型,然后設(shè)計(jì)一個(gè)解此數(shù)學(xué)模型的算法,最后編寫出程序,進(jìn)行測試和修改,直至得到最終解答。在解決問題的過程中,尋求數(shù)學(xué)模型的實(shí)質(zhì)是通過分析,從問題中提取操作的對(duì)象,并找到這些對(duì)象之間的關(guān)系,然后用數(shù)學(xué)語言加以描述。然而,對(duì)非數(shù)值計(jì)算問題,往往很難用一個(gè)或幾個(gè)數(shù)學(xué)方程來描述對(duì)象之間的關(guān)系,只能采用數(shù)據(jù)結(jié)構(gòu)方法進(jìn)行描述?! ?/pre>圖書封面
評(píng)論、評(píng)分、閱讀與下載
- 還沒讀過(63)
- 勉強(qiáng)可看(458)
- 一般般(781)
- 內(nèi)容豐富(3239)
- 強(qiáng)力推薦(265)
數(shù)據(jù)結(jié)構(gòu) PDF格式下載