數(shù)據(jù)結(jié)構(gòu)

出版時(shí)間:2012-2  出版社:清華大學(xué)出版社  作者:陳寶平 編  

前言

  數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)專業(yè)和信息管理專業(yè)一門重要的專業(yè)基礎(chǔ)課,只要涉及程序的地方,均要用到數(shù)據(jù)結(jié)構(gòu)的知識(shí),許多課程(如操作系統(tǒng)、編譯原理、數(shù)據(jù)庫(kù)和人工智能等)也要用到數(shù)據(jù)結(jié)構(gòu)的知識(shí)。其主要內(nèi)容是研究和解決非數(shù)值計(jì)算的問(wèn)題,討論如何合理地組織、存儲(chǔ)和處理數(shù)據(jù)的方法與技術(shù); 其主要任務(wù)是使讀者掌握數(shù)據(jù)組織、存儲(chǔ)和處理的常用方法和常用的算法思想及在實(shí)際中的應(yīng)用技巧,為今后學(xué)習(xí)后續(xù)專業(yè)課和進(jìn)行軟件開(kāi)發(fā)打下良好的基礎(chǔ)?! ”緯木帉懻唛L(zhǎng)期從事數(shù)據(jù)結(jié)構(gòu)的教學(xué),對(duì)課程的難點(diǎn)和重點(diǎn)有比較深切的體會(huì)。在總結(jié)講授數(shù)據(jù)結(jié)構(gòu)課程的基礎(chǔ)上,對(duì)多年傳授的數(shù)據(jù)結(jié)構(gòu)教學(xué)內(nèi)容進(jìn)行合理的重組,既強(qiáng)調(diào)數(shù)據(jù)結(jié)構(gòu)的原理和方法,又注重其實(shí)踐性與實(shí)用性。本書希望能夠引起讀者對(duì)數(shù)據(jù)結(jié)構(gòu)課程的興趣,提高對(duì)數(shù)據(jù)結(jié)構(gòu)課程的重要性、必要性的認(rèn)識(shí),特別希望能夠提高數(shù)據(jù)結(jié)構(gòu)課程的教學(xué)實(shí)效,讓讀者滿意并有收獲。  本書詳細(xì)介紹了各種基本的數(shù)據(jù)結(jié)構(gòu),包括線性結(jié)構(gòu)、數(shù)組和廣義表、樹(shù)(層次)結(jié)構(gòu)和圖結(jié)構(gòu); 基本的存儲(chǔ)結(jié)構(gòu),包括順序(數(shù)組)結(jié)構(gòu)、鏈接結(jié)構(gòu)、索引結(jié)構(gòu)和散列結(jié)構(gòu),以及其中的一種或多種結(jié)構(gòu)的組合及應(yīng)用。本書具有以下特色: ?。?) 采用C++版,注重面向?qū)ο蟮木幊?,?qiáng)調(diào)算法的邏輯性、嚴(yán)謹(jǐn)性、技巧性以及時(shí)間復(fù)雜度等,弱化C++語(yǔ)言中的繼承、派生等機(jī)制?! 。?) 本著“加強(qiáng)基礎(chǔ),注重算法,因材施教,案例驅(qū)動(dòng)”的教育理念,在算法的設(shè)計(jì)上做了大膽改革,為了更好地理解理論知識(shí),每章之后都配有應(yīng)用實(shí)例,提倡從實(shí)用性和實(shí)踐性的角度學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)?! 。?) 完全包含2011年計(jì)算機(jī)統(tǒng)考大綱中數(shù)據(jù)結(jié)構(gòu)指定的相關(guān)知識(shí)點(diǎn)?! 。?) 通俗易懂、圖文并茂,詳略得當(dāng),便于從事計(jì)算機(jī)工作的人員自學(xué)?! ”緯?,5,10章及所有的課后習(xí)題由阿雅娜編寫,第2,3,4章由張巨萍編寫,第6,8章由陳寶平編寫,第7,9章由孫寶軍編寫。陳寶平對(duì)全書的文字風(fēng)格、內(nèi)容、算法實(shí)現(xiàn)等方面進(jìn)行了細(xì)致的修改和統(tǒng)稿。作者在此對(duì)趙俊嵐教授、喬曉華教授和王彪教授表示衷心的感謝,他們對(duì)此書提出的建議和意見(jiàn)都彌足可貴。同時(shí)感謝王景龍、魏娜、李澤申等同學(xué),仔細(xì)閱讀本書的預(yù)印版,驗(yàn)證了書稿的部分算法并調(diào)試了代碼?! ”緯η笠酝ㄋ椎恼Z(yǔ)言和實(shí)例描述數(shù)據(jù)結(jié)構(gòu)課程的內(nèi)容。實(shí)例豐富,圖表清晰,深入淺出,易于讀者融會(huì)貫通。根據(jù)C++的特點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)了各種數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)結(jié)構(gòu)和算法,有助于讀者進(jìn)一步掌握C++的編程思想、方法和技術(shù)內(nèi)涵?! ∮捎诰幷咚接邢蓿瑫绣e(cuò)誤和不妥之處在所難免,懇請(qǐng)讀者與同行批評(píng)指正。  陳寶平

內(nèi)容概要

  數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)專業(yè)教學(xué)計(jì)劃中的核心課程,也是計(jì)算機(jī)及相關(guān)專業(yè)考研和水平等級(jí)考試的必考科目。要從事和計(jì)算機(jī)科學(xué)與技術(shù)相關(guān)的工作,尤其是計(jì)算機(jī)應(yīng)用領(lǐng)域的開(kāi)發(fā)和研制工作,必須具備堅(jiān)實(shí)的數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)?!?1世紀(jì)高等學(xué)校規(guī)劃教材·計(jì)算機(jī)科學(xué)與技術(shù):數(shù)據(jù)結(jié)構(gòu)(C++版)》介紹了學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)所用到的預(yù)備知識(shí),敘述了數(shù)據(jù)結(jié)構(gòu)、算法以及抽象數(shù)據(jù)類型的概念,介紹了線性表、棧、隊(duì)列和串、數(shù)組和廣義表、樹(shù)和二叉樹(shù)、圖等常用數(shù)據(jù)結(jié)構(gòu),討論了常用的查找、排序和索引技術(shù)?!  ?1世紀(jì)高等學(xué)校規(guī)劃教材·計(jì)算機(jī)科學(xué)與技術(shù):數(shù)據(jù)結(jié)構(gòu)(C++版)》內(nèi)容豐富,層次清晰,講解深入淺出,可作為計(jì)算機(jī)及相關(guān)專業(yè)本??茢?shù)據(jù)結(jié)構(gòu)課程的教材,也可供從事計(jì)算機(jī)軟件開(kāi)發(fā)和應(yīng)用的工程技術(shù)人員閱讀、參考。

書籍目錄

第1章 論1.1 為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)1.2 什么是數(shù)據(jù)結(jié)構(gòu)1.2.1 數(shù)據(jù)的邏輯結(jié)構(gòu)1.2.2 數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)1.2.3 抽象數(shù)據(jù)類型1.3 算法與算法分析1.3.1 算法1.3.2 算法的設(shè)計(jì)要求1.3.3 算法效率的量度1.3.4 算法的設(shè)計(jì)方式習(xí)題第2章 性表2.1 線性表的邏輯結(jié)構(gòu)2.1.1 線性表的定義2.1.2 線性表的抽象數(shù)據(jù)類型定義2.2 線性表的順序表示和實(shí)現(xiàn)2.2.1 順序存儲(chǔ)結(jié)構(gòu)的定義2.2.2 基本操作在順序表中的實(shí)現(xiàn)2.2.3 順序存儲(chǔ)結(jié)構(gòu)的特點(diǎn)2.3 線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)2.3.1 單鏈表2.3.2 雙向鏈表2.3.3 循環(huán)鏈表2.3.4 鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的特點(diǎn)2.4 一元多項(xiàng)式求和2.4.1 一元多項(xiàng)式的表示2.4.2 一元多項(xiàng)式的求和習(xí)題第3章 棧和隊(duì)列3.1 棧3.1.1 棧的抽象數(shù)據(jù)類型定義3.1.2 棧的實(shí)現(xiàn)3.2 棧的應(yīng)用舉例3.3 棧與遞歸3.4 隊(duì)列3.4.1 隊(duì)列的抽象數(shù)據(jù)類型定義3.4.2 隊(duì)列的實(shí)現(xiàn)3.4.3 隊(duì)列的應(yīng)用習(xí)題第4章 串4.1 串類型的定義4.2 串的存儲(chǔ)結(jié)構(gòu)4.2.1 串的順序存儲(chǔ)結(jié)構(gòu)4.2.2 堆分配存儲(chǔ)表示4.2.3 串的塊鏈存儲(chǔ)表示4.3 串的模式匹配算法4.3.1 求子串的定位函數(shù)4.3.2 模式匹配的一種改進(jìn)算法4.4 串的應(yīng)用習(xí)題第5章 數(shù)組和廣義表5.1 數(shù)組5.1.1 數(shù)組的定義5.1.2 數(shù)組的存儲(chǔ)5.1.3 特殊矩陣5.1.4 稀疏矩陣5.2 廣義表5.2.1 廣義表的定義5.2.2 廣義表的存儲(chǔ)結(jié)構(gòu)5.2.3 廣義表的遞歸算法5.2.4 廣義表的應(yīng)用習(xí)題第6章 樹(shù)與二叉樹(shù)6.1 樹(shù)的定義與基本術(shù)語(yǔ)6.2 二叉樹(shù)6.2.1 二叉樹(shù)的定義6.2.2 二叉樹(shù)的性質(zhì)6.2.3 二叉樹(shù)的存儲(chǔ)結(jié)構(gòu)6.3 二叉樹(shù)的遍歷6.3.1 遞歸遍歷二叉樹(shù)6.3.2 應(yīng)用二叉樹(shù)遍歷的實(shí)例6.4 線索二叉樹(shù)6.5 樹(shù)與森林6.5.1 樹(shù)的存儲(chǔ)表示6.5.2 森林與二叉樹(shù)的轉(zhuǎn)換6.5.3 樹(shù)的遍歷6.5.4 森林的遍歷6.6 樹(shù)的應(yīng)用6.6.1 堆6.6.2 哈夫曼樹(shù)與編碼習(xí)題第7章 集合與搜索7.1 集合及其表示7.1.1 集合的定義7.1.2 集合的抽象數(shù)據(jù)類型7.1.3 用位向量實(shí)現(xiàn)集合7.2 靜態(tài)搜索結(jié)構(gòu)7.2.1 搜索的定義7.2.2 靜態(tài)搜索結(jié)構(gòu)7.2.3 順序搜索7.2.4 基于有序順序表的折半搜索7.2.5 分塊搜索7.3 二叉搜索樹(shù)7.3.1 二叉搜索樹(shù)的定義7.3.2 二叉搜索樹(shù)的搜索7.3.3 二叉搜索樹(shù)的插入7.3.4 二叉搜索樹(shù)的建立7.3.5 二叉搜索樹(shù)的刪除7.4 AVL樹(shù)7.4.1 AVL樹(shù)的定義7.4.2 最小不平衡二叉樹(shù)7.4.3 不平衡二叉樹(shù)的調(diào)整方法7.4.4 建立平衡二叉樹(shù)舉例7.5 應(yīng)用舉例計(jì)算機(jī)登錄驗(yàn)證習(xí)題第8章 圖8.1 圖的定義8.1.1 圖的定義與相關(guān)術(shù)語(yǔ)8.1.2 圖的抽象數(shù)據(jù)類型8.2 圖的存儲(chǔ)結(jié)構(gòu)8.2.1 數(shù)組表示法8.2.2 鄰接表表示法8.2.3 鄰接多重表表示法8.2.4 十字鏈表法8.3 圖的遍歷8.3.1 深度優(yōu)先遍歷8.3.2 廣度優(yōu)先遍歷8.4 圖的最小生成樹(shù)8.4.1 Prim算法8.4.2 Kruskal算法8.5 最短路徑8.5.1 單源最短路徑8.5.2 每對(duì)頂點(diǎn)的最短路徑8.6 拓?fù)渑判?.7 關(guān)鍵路徑8.8 應(yīng)用實(shí)例習(xí)題第9章 排序9.1 概述9.2 插入排序9.2.1 直接插入排序9.2.2 折半插入排序9.2.3 希爾排序9.3 交換排序9.3.1 冒泡排序9.3.2 快速排序9.4 選擇排序9.4.1 直接選擇排序9.4.2 堆排序9.5 歸并排序9.5.1 歸并排序概述9.5.2 遞歸的歸并排序算法9.6 基數(shù)排序9.6.1 多關(guān)鍵碼排序9.6.2 鏈?zhǔn)交鶖?shù)排序9.7 各種排序方法的比較討論9.8 外部排序的方法習(xí)題第10章 索引結(jié)構(gòu)和散列10.1 靜態(tài)索引結(jié)構(gòu)10.1.1 線性索引10.1.2 倒排表10.1.3 m路靜態(tài)索引樹(shù)10.2 動(dòng)態(tài)索引結(jié)構(gòu)10.2.1 動(dòng)態(tài)的m路靜態(tài)索引樹(shù)10.2.2 B_樹(shù)10.2.3 B_樹(shù)的插入10.2.4 B_樹(shù)的刪除10.2.5 B+樹(shù)10.3 散列10.3.1 散列函數(shù)10.3.2 開(kāi)散列方法10.3.3 閉散列方法10.3.4 散列表的實(shí)現(xiàn)10.3.5 散列表分析習(xí)題參考文獻(xiàn)

圖書封面

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


    數(shù)據(jù)結(jié)構(gòu) PDF格式下載


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

 
 

 

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

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