出版時間:2009-4 出版社:科學出版社 作者:鄭泳,方風波 主編 頁數(shù):248
前言
“數(shù)據(jù)結(jié)構(gòu)”是計算機及相關(guān)專業(yè)的一門重要的專業(yè)基礎課,也是一門必修的核心課程。其課程教學要求是,學會分析研究計算機加工的數(shù)據(jù)對象的特性,以便在實際應用中選擇適當?shù)臄?shù)據(jù)結(jié)構(gòu)、存儲結(jié)構(gòu)和相應的算法,初步掌握算法的時間與空間性能的分析技巧,進行復雜程序設計的訓練?! ”緯菫楦呗毟邔S嬎銠C及相關(guān)專業(yè)編寫的教材,選材基本上覆蓋了數(shù)據(jù)結(jié)構(gòu)的主要內(nèi)容。本書注重培養(yǎng)讀者的實際操作能力,側(cè)重于應用,力求內(nèi)容與應用實例相結(jié)合;在介紹基本理論時,盡量做到淺顯易懂,不過分追求知識的系統(tǒng)性和完整性;對于一些過于難懂的理論盡量省略;對各種數(shù)據(jù)結(jié)構(gòu)問題多以實例來講解,敘述上通俗易懂,可使讀者加深對基本概念的理解,且有利于提高讀者分析問題和解決問題的能力?! 榱税迅呗毟邔W校培養(yǎng)技能型人才的目標落到實處,針對“數(shù)據(jù)結(jié)構(gòu)”的技術(shù)性與綜合性較突出的特點,我們?yōu)槊空戮帉懥讼鄳膶嶒炆蠙C指導及實訓項目指導。對教學內(nèi)容中的每一種數(shù)據(jù)結(jié)構(gòu),其各種操作即實驗,要求學生必須高質(zhì)量完成;而對解決實際問題中的操作屬于技能訓練即實訓項目,要求學生根據(jù)算法思想完成實現(xiàn),達到技能訓練的目的。本書中的實訓項目有4個,涉及線性表、棧、串、樹、圖、排序、查找等數(shù)據(jù)結(jié)構(gòu)的實際應用,由于課堂時間有限,讀者可以根據(jù)自身的實際掌握情況,在課余選做。 本書使用標準的C語言作為算法描述工具,主要考慮的是:.C語言基本上是各校教學計劃中的基礎語言,以C語言描述數(shù)據(jù)結(jié)構(gòu),在理解和掌握數(shù)據(jù)結(jié)構(gòu)內(nèi)容的同時,有利于進一步提高軟件設計的能力。同時,目前各種考試,如計算機等級考試,特別是高職專升本及自學考試,均要求學生具有C語言和數(shù)據(jù)結(jié)構(gòu)的基礎?! ∪珪卜?章;第1章引人數(shù)據(jù)結(jié)構(gòu)與算法的一些基本概念與術(shù)語,并對算法描述及算法分析作了簡要說明;第2-5章由淺人深地介紹了線性結(jié)構(gòu)中的線性表、棧、隊列、數(shù)組及字符串的基本定義、算法和應用;第6、7章介紹了非線性結(jié)構(gòu)的樹、二叉樹和圖;第8、9章介紹了在實際應用中使用非常廣泛的查找和排序的基本算法,并進行了簡單的時間、空間性能分析。每章配有相當數(shù)量的例題和習題,便于讀者鞏固所學知識。本書配有電子課件等教學資源,下載網(wǎng)址:WWW.abook.cn。本書配套電子課件曾在2008年湖北省教師電教作品大賽評選活動中,榮獲網(wǎng)絡課程類二等獎;在全國第二屆實踐教學競賽中,榮獲多媒體課件類三等獎;在“第三屆全國高等學校計算機課件評比”中榮獲三等獎。
內(nèi)容概要
本書介紹了各種常用的數(shù)據(jù)結(jié)構(gòu)及其操作,包括線性表、棧和隊列、串、數(shù)組、樹、圖、查找和排序等。全書使用標準的C語言作為算法描述工具。 本書內(nèi)容通俗易懂,側(cè)重于應用,力求內(nèi)容與應用實例相結(jié)合,并附有上機實驗和實訓指導,有利于提高讀者分析問題和解決問題的能力。 本書可以作為高職高專院校計算機相關(guān)專業(yè)的教材,也可以作為專升本、自學考試的輔導教材。
書籍目錄
前言第1章 概論 1.1 基本概念和術(shù)語 1.1.1 邏輯結(jié)構(gòu) 1.1.2 存儲結(jié)構(gòu) 1.2 算法的描述與分析 1.2.1 算法描述 1.2.2 算法分析 1.2.3 時間復雜度 1.2.4 空間復雜度 本章小結(jié) 習題第2章 線性表 2.1 線性表及其邏輯結(jié)構(gòu) 2.1.1 線性表的定義 2.1.2 線性表的運算 2.2 線性表的順序存儲 2.2.1 順序表結(jié)構(gòu) 2.2.2 順序表的基本操作 2.3 線性表的鏈式存儲 2.3.1 單鏈表結(jié)構(gòu) 2.3.2 單鏈表的基本操作 2.4 單向循環(huán)鏈表 2.5 雙向循環(huán)鏈表 2.5.1 雙向鏈表 2.5.2 雙向循環(huán)鏈表 本章小結(jié) 習題第3章 棧和隊列 3.1 棧 3.1.1 棧的定義與基本運算 3.1.2 順序棧 3.1.3 鏈棧 3.2 隊列 3.2.1 隊列的定義及基本運算 3.2.2 順序隊列 3.2.3 鏈隊列 3.3 棧和隊列的應用 3.3.1 棧的應用 3.3.2 隊列的應用 本章小結(jié) 習題第4章 串 4.1 串及其運算 4.1.1 串的基本概念 4.1.2 串的基本運算 4.2 串的存儲結(jié)構(gòu) 4.2.1 串的順序存儲 4.2.2 串的鏈式存儲 4.3 串運算的實現(xiàn) 4.4 串的模式匹配運算 4.4.1 有回溯的模式匹配算法(BF算法) 4.4.2 無回溯的模式匹配算法(KMP算法) 本章小結(jié) 習題第5章 數(shù)組和廣義表 5.1 數(shù)組 5.1.1 數(shù)組的定義 5.1.2 數(shù)組的順序存儲 5.2 矩陣的壓縮存儲 5.2.1 特殊矩陣 5.2.2 稀疏矩陣 5.3 廣義表 5.3.1 廣義表的定義與運算 5.3.2 廣義表的存儲 本章小結(jié) 習題第6章 樹第7章 圖第8章 排序第9章 查找附錄參考文獻
章節(jié)摘錄
圖是一種網(wǎng)狀數(shù)據(jù)結(jié)構(gòu),屬于多對多的非線性結(jié)構(gòu),圖中的每個結(jié)點可以有多個直接前趨和直接后繼。圖的存儲包括存儲圖中頂點的信息和邊的信息兩個方面。這兩個部分既可以分開單獨存儲,也可以用結(jié)構(gòu)體形式一起存儲。圖的存儲結(jié)構(gòu)有鄰接矩陣、鄰接表等?! D的遍歷包含深度優(yōu)先搜索遍歷和廣度優(yōu)先搜索遍歷。對于用鄰接矩陣結(jié)構(gòu)存儲的圖,從某個給定的頂點出發(fā)的圖的遍歷得到的訪問頂點次序是唯一的,而對于鄰接表結(jié)構(gòu)存儲的圖從某個給定的頂點出發(fā)的圖的遍歷得到的訪問頂點次序隨建立鄰接表的不同而可能不同。 一個連通圖的生成樹含有該圖的全部n個頂點和其中n-1條邊(不構(gòu)成回路),其中權(quán)值之和最小的生成樹稱為最小生成樹。求最小生成樹有兩種不同的方法,一種是普里姆算法;另一種是克魯斯卡爾算法。如果所采用的方法不同,得到的最小生成樹中邊的次序也可能不同,但最小生成樹的權(quán)值之和相同?! ∏髨D的最短路徑有兩種算法,其一是單源點的最短路徑,用迪杰斯特拉算法來實現(xiàn);其二是所有頂點對的最短路徑,用弗洛伊德算法來實現(xiàn)。
圖書封面
評論、評分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu) PDF格式下載