數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)

出版時(shí)間:2012-7  出版社:機(jī)械工業(yè)出版社  作者:王曉東  頁數(shù):242  

內(nèi)容概要

《數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)》以基本數(shù)據(jù)結(jié)構(gòu)為知識(shí)單元,系統(tǒng)地介紹數(shù)據(jù)結(jié)構(gòu)知識(shí)與應(yīng)用、計(jì)算機(jī)算法的設(shè)計(jì)與分析方法。全書共分13章,第1章介紹數(shù)據(jù)結(jié)構(gòu)、抽象數(shù)據(jù)類型和算法的基本概念;第2~4章以抽象數(shù)據(jù)類型為主線索,圍繞常用的基本數(shù)據(jù)結(jié)構(gòu),分別介紹基于序列的常用數(shù)據(jù)結(jié)構(gòu)表、棧、隊(duì)列;第5章介紹遞歸以及遞歸在數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計(jì)中的應(yīng)用;第6章介紹實(shí)際應(yīng)用中常用的排序與選擇算法;第7~12章討論反映層次關(guān)系的數(shù)據(jù)結(jié)構(gòu)樹、表示集合的抽象數(shù)據(jù)類型、符號(hào)表以及散列表等實(shí)踐中常用實(shí)現(xiàn)符號(hào)表的方法、字典及其實(shí)現(xiàn)方法、優(yōu)先隊(duì)列及其實(shí)現(xiàn)方法、并查集及其實(shí)現(xiàn)方法;第13章介紹非線性結(jié)構(gòu)圖及圖的算法。
《數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)》內(nèi)容豐富,觀點(diǎn)新穎,理論聯(lián)系實(shí)際,不僅可用做高等院校計(jì)算機(jī)科學(xué)與工程專業(yè)學(xué)生學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的教材,而且也適合廣大工程技術(shù)人員參考。本書由王曉東著。

書籍目錄

出版者的話
前言
教學(xué)方案設(shè)計(jì)
第1章 引論
1.1 算法及其復(fù)雜性的概念
1.1.1 算法與程序
1.1.2 算法復(fù)雜性的概念
1.1.3 算法復(fù)雜性的漸近性態(tài)
1.2 算法的表達(dá)與數(shù)據(jù)表示
1.2.1 問題求解
1.2.2 表達(dá)算法的抽象機(jī)制
1.3 抽象數(shù)據(jù)類型
1.3.1 抽象數(shù)據(jù)類型的基本概念
1.3.2 使用抽象數(shù)據(jù)類型的好處
1.4 數(shù)據(jù)結(jié)構(gòu)和抽象數(shù)據(jù)類型
1.5 用C語言描述數(shù)據(jù)結(jié)構(gòu)與算法
1.5.1 變量和指針
1.5.2 函數(shù)與參數(shù)傳遞
1.5.3 結(jié)構(gòu)
1.5.4 動(dòng)態(tài)存儲(chǔ)分配
本章小結(jié)
習(xí)題
算法實(shí)驗(yàn)
算法實(shí)驗(yàn)題1.1 哥德巴赫猜想問題
算法實(shí)驗(yàn)題1.2 連續(xù)整數(shù)和問題
第2章 表
2.1 表的基本概念
2.2 用數(shù)組實(shí)現(xiàn)表
2.3 用指針實(shí)現(xiàn)表
2.4 用間接尋址方法實(shí)現(xiàn)表
2.5 用游標(biāo)實(shí)現(xiàn)表
2.6 循環(huán)鏈表
2.7 雙鏈表
2.8 表的搜索游標(biāo)
2.8.1 用數(shù)組實(shí)現(xiàn)表的搜索游標(biāo)
2.8.2 單循環(huán)鏈表的搜索游標(biāo)
2.9 應(yīng)用
本章小結(jié)
習(xí)題
算法實(shí)驗(yàn)
算法實(shí)驗(yàn)題2.1 向量分類問題
算法實(shí)驗(yàn)題2.2 條形圖輪廓問題
第3章 棧
3.1 棧的基本概念
3.2 用數(shù)組實(shí)現(xiàn)棧
3.3 用指針實(shí)現(xiàn)棧
3.4 應(yīng)用
本章小結(jié)
習(xí)題
算法實(shí)驗(yàn)
算法實(shí)驗(yàn)題3.1 車皮編序問題
算法實(shí)驗(yàn)題3.2 單柱Hanoi塔問題
算法實(shí)驗(yàn)題3.3 多棧模擬問題
算法實(shí)驗(yàn)題3.4 親兄弟問題
第4章 隊(duì)列
4.1 隊(duì)列的基本概念
4.2 用指針實(shí)現(xiàn)隊(duì)列
4.3 用循環(huán)數(shù)組實(shí)現(xiàn)隊(duì)列
4.4 應(yīng)用
本章小結(jié)
習(xí)題
算法實(shí)驗(yàn)
算法實(shí)驗(yàn)題4.1 組隊(duì)列問題
算法實(shí)驗(yàn)題4.2 雙棧隊(duì)列問題
算法實(shí)驗(yàn)題4.3 猴子分桃問題
算法實(shí)驗(yàn)題4.4 逆序表問題
……
第5章 遞歸
第6章 排序與選擇
第7章 樹
第8章 集合
第9章 符號(hào)表
第10章 字典
第11章 優(yōu)先隊(duì)列
第12章 并查集
第13章 圖
參考文獻(xiàn)

章節(jié)摘錄

版權(quán)頁:   插圖:   用指針實(shí)現(xiàn)上述擴(kuò)充后的抽象數(shù)據(jù)類型隊(duì)列。 4.2擴(kuò)充抽象數(shù)據(jù)類型隊(duì)列的定義,增加如下隊(duì)列運(yùn)算: (1)QueueSplit(S1,S2):將隊(duì)列S1分為大小相同的2個(gè)隊(duì)列S1和S2。隊(duì)列S2中含原隊(duì)列S1中第1,3,5,…個(gè)元素,其余元素留在隊(duì)列S1中。 (2)QueueCombine(S1,s2):將隊(duì)列S2中元素交錯(cuò)地合并于隊(duì)列S1中,且保持原隊(duì)列中元素的相對(duì)次序。S2成為空隊(duì)列。 用指針實(shí)現(xiàn)上述擴(kuò)充后的抽象數(shù)據(jù)類型隊(duì)列。 4.3擴(kuò)充抽象數(shù)據(jù)類型隊(duì)列的定義,增加如下隊(duì)列運(yùn)算: OnQueue(x,Q):若x是隊(duì)列中的一個(gè)元素,則函數(shù)返回1,否則返回0。 用指針實(shí)現(xiàn)上述擴(kuò)充后的抽象數(shù)據(jù)類型隊(duì)列。 4.4如何實(shí)現(xiàn)以任意長(zhǎng)的字符串為元素的隊(duì)列?將一個(gè)字符串人隊(duì)的運(yùn)算耗時(shí)如何? 4.5 實(shí)現(xiàn)隊(duì)列的另一種鏈表結(jié)構(gòu)使用一個(gè)指向隊(duì)首結(jié)點(diǎn)的哨兵結(jié)點(diǎn)來簡(jiǎn)化出隊(duì)運(yùn)算。試用這種表示法實(shí)現(xiàn)隊(duì)列的各種基本運(yùn)算,并分析這種表示法的優(yōu)缺點(diǎn)。 4.6寫出用循環(huán)數(shù)組表示的隊(duì)列長(zhǎng)度的計(jì)算公式。 4.7用循環(huán)數(shù)組實(shí)現(xiàn)的隊(duì)列重做習(xí)題4.1。 4.8用循環(huán)數(shù)組實(shí)現(xiàn)的隊(duì)列重做習(xí)題4.2。 4.9用循環(huán)數(shù)組實(shí)現(xiàn)的隊(duì)列重做習(xí)題4.3。 4.10如果用一個(gè)布爾量來表示循環(huán)數(shù)組中的隊(duì)列是否為空隊(duì)列,那么應(yīng)當(dāng)如何定義這種隊(duì)列結(jié)構(gòu)的類型?在這種表示法下實(shí)現(xiàn)隊(duì)列的基本運(yùn)算。 4.11 用循環(huán)數(shù)組表示隊(duì)列的另一種方法是用一個(gè)游標(biāo)指示隊(duì)首元素所在的單元,并用一個(gè)整數(shù)表示隊(duì)列長(zhǎng)度。 (1)如果用這種方法來實(shí)現(xiàn)隊(duì)列,是否有必要限制隊(duì)列的長(zhǎng)度? (2)在這種表示法下,實(shí)現(xiàn)隊(duì)列的6個(gè)基本運(yùn)算。 (3)與本章介紹的用循環(huán)數(shù)組表示的隊(duì)列進(jìn)行比較。 4.12 區(qū)分用循環(huán)數(shù)組實(shí)現(xiàn)的滿隊(duì)列和空隊(duì)列的一個(gè)方法是在Queue結(jié)構(gòu)中增加一個(gè)變量LastOp來記錄最近一次執(zhí)行的隊(duì)列運(yùn)算。如果LastOp記錄的最近一次執(zhí)行的隊(duì)列運(yùn)算是EnterQueue,則可斷定當(dāng)前隊(duì)列一定非空;如果LastOp記錄的最近一次執(zhí)行的隊(duì)列運(yùn)算是DeleteQueue,則可斷定當(dāng)前隊(duì)列一定不滿。因此,當(dāng)front=rear時(shí),可借助LastOp來區(qū)分滿隊(duì)列和空隊(duì)列。 試用上述思想修改用循環(huán)數(shù)組實(shí)現(xiàn)的隊(duì)列。 4.13 雙向隊(duì)列是一種特殊的表,對(duì)這種表進(jìn)行插人或刪除操作都只能在表的任意一端進(jìn)行。試用數(shù)組、指針和游標(biāo)這3種不同結(jié)構(gòu)實(shí)現(xiàn)雙向隊(duì)列。

編輯推薦

《華章教育?高等院校精品課程系列教材?國家級(jí):數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)》內(nèi)容豐富,觀點(diǎn)新穎,理論聯(lián)系實(shí)際,不僅可用做高等院校計(jì)算機(jī)科學(xué)與工程專業(yè)學(xué)生學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的教材,而且也適合廣大工程技術(shù)人員參考。

圖書封面

評(píng)論、評(píng)分、閱讀與下載


    數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì) PDF格式下載


用戶評(píng)論 (總計(jì)0條)

 
 

 

250萬本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7