出版時(shí)間:2008-1 出版社:高等教育出版社 作者:胡學(xué)鋼 編 頁(yè)數(shù):222
Tag標(biāo)簽:無
內(nèi)容概要
“數(shù)據(jù)結(jié)構(gòu)”是計(jì)算機(jī)類各專業(yè)重要的專業(yè)基礎(chǔ)課程,是提高軟件設(shè)計(jì)水平以及學(xué)習(xí)后續(xù)課程所必需的基礎(chǔ)。課程中涉及軟件設(shè)計(jì)中常見的幾種數(shù)據(jù)結(jié)構(gòu)及其在計(jì)算機(jī)內(nèi)存中的表示(即存儲(chǔ))形式和各種操作的實(shí)現(xiàn),以及軟件設(shè)計(jì)中常用的排序和查找運(yùn)算。
本書是針對(duì)應(yīng)用型本科層次計(jì)算機(jī)類相關(guān)專業(yè)所編寫的,主要內(nèi)容包括概述、線性表、串、棧、隊(duì)列、數(shù)組、樹和二叉樹、圖、查找、排序和文件等,并配有相關(guān)的習(xí)題。作者按照實(shí)用性、模塊化、通俗性的要求組織教材體系并編寫各部分內(nèi)容,加強(qiáng)了算法和程序設(shè)計(jì)方法的分析,從而避免了概念和理論講述的平鋪直敘,容易激發(fā)學(xué)生的學(xué)習(xí)興趣,能夠達(dá)到較好的學(xué)習(xí)效果。
與本書配套使用的實(shí)驗(yàn)教程即將推出,主要內(nèi)容包括實(shí)驗(yàn)指導(dǎo)、課程設(shè)計(jì)指導(dǎo)、典型習(xí)題分析講解、自測(cè)試卷及其解析等,可培養(yǎng)學(xué)生解決實(shí)際問題的能力,達(dá)到學(xué)以致用的效果。
本書也可作為其他相關(guān)專業(yè)學(xué)生學(xué)習(xí)“數(shù)據(jù)結(jié)構(gòu)”課程的教材或參考書。
書籍目錄
第1章 概論
1.1 “數(shù)據(jù)結(jié)構(gòu)”的研究?jī)?nèi)容
1.1.1 用計(jì)算機(jī)解決實(shí)際問題的過程
1.1.2 學(xué)習(xí)“數(shù)據(jù)結(jié)構(gòu)”的意義
1.2 基本術(shù)語
1.3 算法描述及分析
1.3.1 算法描述語言概述
1.3.2 算法分析
本章小結(jié)
習(xí)題1
第2章 線性表
2.1 線性表的定義和運(yùn)算
2.1.1 線性表的定義
2.1.2 線性表的運(yùn)算
2.2 線性表的順序表存儲(chǔ)結(jié)構(gòu)
2.2.1 順序存儲(chǔ)結(jié)構(gòu)
2.2.2 順序表運(yùn)算的實(shí)現(xiàn)
2.2.3 順序表的應(yīng)用
2.3 鏈表
2.3.1 鏈表結(jié)構(gòu)
2.3.2 鏈表運(yùn)算的實(shí)現(xiàn)
2.3.3 其他形式的鏈表結(jié)構(gòu)
2.4 串
2.4.1 串的定義和運(yùn)算
2.4.2 串的存儲(chǔ)
本章小結(jié)
習(xí)題2
第3章 棧、隊(duì)列和數(shù)組
3.1 棧
3.1.1 棧的定義和運(yùn)算
3.1.2 順序棧
3.1.3 鏈棧
3.1.4 棧的應(yīng)用實(shí)例
3.2 隊(duì)列
3.2.1 隊(duì)列的定義和運(yùn)算
3.2.2 順序隊(duì)列與循環(huán)隊(duì)列
3.2.3 鏈隊(duì)列
3.2.4 隊(duì)列的應(yīng)用
3.3 數(shù)組
3.3.1 數(shù)組的定義和運(yùn)算
3.3.2 數(shù)組的順序存儲(chǔ)
3.3.3 矩陣的壓縮存儲(chǔ)
3.4 棧的應(yīng)用——棧和遞歸
3.4.1 遞歸程序的定義及其基本形式
3.4.2 遞歸調(diào)用的內(nèi)部實(shí)現(xiàn)原理
3.4.3 遞歸程序的閱讀
3.4.4 遞歸程序的正確性證明和編寫
3.4.5 遞歸的模擬
本章小結(jié)
習(xí)題3
第4章 樹
第5章 圖
第6章 查找
第7章 排序
第8章 文件
參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁(yè):插圖:(3)選擇存儲(chǔ)結(jié)構(gòu)在構(gòu)造出求解算法之后,就需要考慮在計(jì)算機(jī)上實(shí)現(xiàn)求解了。首先是要選擇合適的存儲(chǔ)結(jié)構(gòu),以便將問題所涉及的數(shù)據(jù)(包括數(shù)據(jù)中的基本對(duì)象及對(duì)象之間的關(guān)系)存儲(chǔ)到計(jì)算機(jī)中。通過本書后續(xù)各章節(jié)的學(xué)習(xí)可知,不同的存儲(chǔ)形式對(duì)問題的求解實(shí)現(xiàn)有較大的影響,所占用的存儲(chǔ)空間也可能有較大的差異。(4)編寫程序在選擇了存儲(chǔ)結(jié)構(gòu)之后,就可以編寫程序了。存儲(chǔ)形式和問題要求決定了編寫程序的方法。(5)測(cè)試在編寫出完整的程序之后,需要經(jīng)過測(cè)試才能交付使用。例如,要編寫一個(gè)計(jì)算機(jī)程序以查詢某市或某單位內(nèi)的私人電話,要求對(duì)任意給定的一個(gè)姓名進(jìn)行判斷。若該人裝有電話,則要求迅速找到其電話號(hào)碼;否則指出該人沒有裝電話。為解決這一問題,首先要構(gòu)造一張電話號(hào)碼登記表,表中每人登記兩項(xiàng)信息:姓名和電話號(hào)碼。在將眾多的登記項(xiàng)合成一個(gè)數(shù)據(jù)表時(shí),有多種不同的組織形式,查找的速度取決于表的結(jié)構(gòu)及存儲(chǔ)方式。最簡(jiǎn)單的方式是把表中的信息按照某種次序(如登記的次序)依次存儲(chǔ)在計(jì)算機(jī)內(nèi)一組連續(xù)的存儲(chǔ)單元中。用高級(jí)語言表述,就是把整個(gè)表作為一個(gè)數(shù)組,每個(gè)人的信息(即一個(gè)人的姓名和電話號(hào)碼)是數(shù)組的一個(gè)元素。查找時(shí)從表的第一項(xiàng)開始,依次查對(duì)姓名,直到找出指定的姓名或是確定表中沒有要找的姓名為止。這種查找方法對(duì)于一個(gè)規(guī)模不大的單位或許是可行的,但對(duì)于一個(gè)有幾十萬乃至幾百萬私人電話的城市就不適用了。因此,一種常用的做法是把這張表按姓氏或姓氏筆畫排列,并另造一張姓名索引表,這類似于漢語字典的組織形式。對(duì)這樣的表的查找過程可以先在索引表中查對(duì)姓氏,然后根據(jù)索引表中的地址到登記表中核查姓名,這樣查找登記表時(shí)就無需查找其他姓氏的名字了。因此,在這種新的結(jié)構(gòu)上產(chǎn)生的查找方法就會(huì)更有效。這兩張表便是我們?yōu)榻鉀Q電話號(hào)碼查詢問題而建立的數(shù)學(xué)模型。這類模型的主要操作是按照某個(gè)特定要求(如給定姓名)去對(duì)登記表進(jìn)行查詢。諸如此類的還有人事檔案管理、圖書資料管理等。在這類文檔管理的數(shù)學(xué)模型中,計(jì)算機(jī)處理的對(duì)象之間通常存在一種簡(jiǎn)單的線性關(guān)系,故稱這類數(shù)學(xué)模型為線性的數(shù)據(jù)結(jié)構(gòu)。
編輯推薦
《數(shù)據(jù)結(jié)構(gòu)(C語言版)》特點(diǎn):內(nèi)容以實(shí)用為主,選擇實(shí)際應(yīng)用與軟件設(shè)計(jì)中常用的基本技術(shù),針對(duì)課程內(nèi)容多、抽象和教學(xué)難度較大等問題,采用循序漸進(jìn)、通俗易懂的方式描述復(fù)雜抽象的課程內(nèi)容;以模塊化方式分解知識(shí)點(diǎn),以豐富的實(shí)例及其求解過程的分析與引導(dǎo)來啟發(fā)和培養(yǎng)讀者分析和解決問題的能力。配套教學(xué)資源豐富,提供與教材配套的電子教案,并將推出《數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)教程》,包括實(shí)驗(yàn)指導(dǎo)、課程設(shè)計(jì)指導(dǎo)、典型習(xí)題分析講解、自測(cè)試卷及其解析等,培養(yǎng)讀者解決實(shí)際問題的能力,達(dá)到學(xué)以致用的效果?!稊?shù)據(jù)結(jié)構(gòu)(C語言版)》依據(jù)教育部高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會(huì)編制的高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)規(guī)范和IEEE/ACM制訂的CC2001一CC2005有關(guān)教程編寫。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu) PDF格式下載