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