出版時(shí)間:2007-6 出版社:清華大學(xué) 作者:殷人昆 頁數(shù):512 字?jǐn)?shù):799000
Tag標(biāo)簽:無
內(nèi)容概要
“數(shù)據(jù)結(jié)構(gòu)”是計(jì)算機(jī)專業(yè)的核心課程,是從事計(jì)算機(jī)軟件開發(fā)和應(yīng)用人員必備的專業(yè)基礎(chǔ)。隨著計(jì)算機(jī)的日益普及,“數(shù)據(jù)結(jié)構(gòu)”課程也在不斷地發(fā)展?! ”緯凑涨迦A大學(xué)計(jì)算機(jī)系本科“數(shù)據(jù)結(jié)構(gòu)”大綱的要求,從面向?qū)ο蟮母拍?、對象類設(shè)計(jì)的風(fēng)格和數(shù)據(jù)結(jié)構(gòu)的層次開始,從線性結(jié)構(gòu)到非線性結(jié)構(gòu),從簡單到復(fù)雜,深入地討論了各種數(shù)據(jù)結(jié)構(gòu)內(nèi)在的邏輯關(guān)系及其在計(jì)算機(jī)中的實(shí)現(xiàn)方式和使用。此外,對常用的迭代、遞歸、回溯等算法設(shè)計(jì)技巧,搜索和排序算法等都做了詳盡的描述,并引入了簡單的算法分析?! ∪珪捎妹嫦?qū)ο蟮挠^點(diǎn)討論數(shù)據(jù)結(jié)構(gòu)技術(shù),并以兼有面向過程和面向?qū)ο箅p重特色的C++語言作為算法的描述工具,強(qiáng)化基本知識和基本能力的雙基訓(xùn)練。全書條理清晰,通俗易懂,圖文并茂,適于自學(xué)?! ∨c本書配套的《數(shù)據(jù)結(jié)構(gòu)習(xí)題解析——用面向?qū)ο蠓椒ㄅcC++語言描述》一書已經(jīng)由清華大學(xué)出版社出版。本書適合大專院校計(jì)算機(jī)、軟件專業(yè)本科生使用,也可作為教師和有關(guān)科研人員的參考書。
書籍目錄
第1章 數(shù)據(jù)結(jié)構(gòu)概論 1.1 數(shù)據(jù)結(jié)構(gòu)的概念 1.1.1 數(shù)據(jù)結(jié)構(gòu)舉例 1.1.2 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu) 1.1.3 數(shù)據(jù)結(jié)構(gòu)的分類 1.1.4 數(shù)據(jù)結(jié)構(gòu)課程的內(nèi)容 1.2 數(shù)據(jù)結(jié)構(gòu)的抽象形式 1.2.1 數(shù)據(jù)類型 1.2.2 數(shù)據(jù)抽象與抽象數(shù)據(jù)類型 1.3 作為ADT的C++類 1.3.1 面向?qū)ο蟮母拍睢 ?.3.2 C++中的類 1.3.3 C++中的對象 1.3.4 C++的輸入輸出 1.3.5 C++中的函數(shù) 1.3.6 動態(tài)存儲分配 1.3.7 C++中的繼承 1.3.8 多態(tài)性 1.3.9 C++的模板 1.4 算法定義 1.5 算法性能分析與度量 1.5.1 算法的性能標(biāo)準(zhǔn) 1.5.2 算法的后期測試 1.5.3 算法的事前估計(jì) 1.5.4 算法的漸進(jìn)分析 **1.5.5 最壞、最好和平均情況 習(xí)題第2章 線性表 2.1 線性表 2.1.1 線性表的概念 2.1.2 線性表的類定義 2.2 順序表 2.2.1 順序表的定義和特點(diǎn) 2.2.2 順序表的類定義及其操作 2.2.3 順序表的性能分析 2.2.4 順序表的應(yīng)用 2.3 單鏈表 2.3.1 單鏈表的概念 2.3.2 單鏈表的類定義 2.3.3 單鏈表中的插入與刪除 2.3.4 帶附加頭結(jié)點(diǎn)的單鏈表 2.3.5 單鏈表的模板類 2.4 線性鏈表的其他變形 2.4.1 循環(huán)鏈表 2.4.2 雙向鏈表 2.5 單鏈表的應(yīng)用:多項(xiàng)式及其運(yùn)算 **2.5.1 多項(xiàng)式的表示 **2.5.2 多項(xiàng)式的類定義 **2.5.3 多項(xiàng)式的加法 **2.5.4 多項(xiàng)式的乘法 2.6 靜態(tài)鏈表 習(xí)題第3章 棧和隊(duì)列 3.1 ?! ?.1.1 棧的定義 3.1.2 順序棧 3.1.3 鏈?zhǔn)綏! ?*3.1.4 棧的應(yīng)用之一——括號匹配 **3.1.5 棧的應(yīng)用之二——表達(dá)式的計(jì)算 3.2 棧與遞歸 3.2.1 遞歸的概念 3.2.2 遞歸過程與遞歸工作棧 **3.2.3 用回溯法求解迷宮問題 3.3 隊(duì)列 3.3.1 隊(duì)列的概念 3.3.2 循環(huán)隊(duì)列 3.3.3 鏈?zhǔn)疥?duì)列 3.3.4 隊(duì)列應(yīng)用舉例:打印二項(xiàng)展開式(a+b)i的系數(shù) **3.3.5 隊(duì)列應(yīng)用舉例:電路布線 3.4 優(yōu)先級隊(duì)列 3.4.1 優(yōu)先級隊(duì)列的概念 **3.4.2 優(yōu)先級隊(duì)列的存儲表示和實(shí)現(xiàn) 3.5 雙端隊(duì)列 3.5.1 雙端隊(duì)列的概念 3.5.2 雙端隊(duì)列的數(shù)組表示 3.5.3 雙端隊(duì)列的鏈表表示 習(xí)題第4章 數(shù)組、串與廣義表第5章 樹第6章 集合與字典第7章 搜索結(jié)構(gòu)第8章 圖第9章 排序第10章 文件、外部排序與搜索附錄A 程序索引附錄B 詞匯索引參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁: 插圖: 4.多關(guān)鍵碼文件 在對包含有大量數(shù)據(jù)記錄的數(shù)據(jù)表或文件進(jìn)行搜索時(shí),最常用的是針對記錄的主關(guān)鍵碼建立索引,因?yàn)橹麝P(guān)鍵碼可以唯一地標(biāo)識該記錄。用主關(guān)鍵碼建立的索引叫做主索引。每個(gè)索引項(xiàng)給出記錄的關(guān)鍵碼和記錄在表或文件中的存放地址。 但是,在實(shí)際應(yīng)用中有時(shí)需要針對其他屬性進(jìn)行搜索。例如,查詢?nèi)缦碌穆毠ば畔ⅲ毫谐鏊薪處煹拿麊危谐鲆鸦榈呐毠?。這些查詢所詢問的屬性,如職務(wù)、性別、婚否等都不是主關(guān)鍵碼,為回答以上問題,只能到表或文件中去順序搜索,搜索效率極低。有鑒于此,除主關(guān)鍵碼外,可以把一些經(jīng)常搜索的屬性設(shè)定為次關(guān)鍵碼,并針對每一個(gè)作為次關(guān)鍵碼的屬性,建立一個(gè)稱之為次索引的索引表。在次索引中,列出該屬性的所有取值,并對每一個(gè)取值建立有序鏈表,把所有具有相同屬性值的記錄按存放地址遞增的順序或按主關(guān)鍵碼遞增的順序鏈接在一起。 下面討論兩種多關(guān)鍵碼文件的組織方法。 (1)多重表文件 多重表文件的特點(diǎn)是:除了建立主關(guān)鍵碼的索引(稱為主索引)外,對每一個(gè)次關(guān)鍵碼項(xiàng)建立次關(guān)鍵碼索引(稱為次索引),所有具有同一次關(guān)鍵碼的記錄構(gòu)成一個(gè)鏈表。每個(gè)次索引的索引項(xiàng)包括次關(guān)鍵碼、存儲頭指針和鏈表長度。
編輯推薦
《普通高等教育"十一五"國家級規(guī)劃教材?清華大學(xué)計(jì)算機(jī)系列教材:數(shù)據(jù)結(jié)構(gòu)(用面向?qū)ο蠓椒ㄅcC++語言描述)(第2版)》采用面向?qū)ο蟮挠^點(diǎn)討論數(shù)據(jù)結(jié)構(gòu)技術(shù),并以兼有面向過程和面向?qū)ο箅p重特色的C++語言作為算法的描述工具,強(qiáng)化基本知識和基本能力的雙基訓(xùn)練。全書條理清晰,通俗易懂,圖文并茂,適于自學(xué)。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu) PDF格式下載