出版時(shí)間:2007-2 出版社:中國科技大 作者:秦峰 編 頁數(shù):298
前言
以計(jì)算機(jī)科學(xué)技術(shù)為核心的信息技術(shù)正在深刻地改變著人們的工作方式、生活方式和思維方式。如果說計(jì)算機(jī)是由硬件和軟件兩部分組成,顯然軟件應(yīng)該是計(jì)算機(jī)的靈魂、程序設(shè)計(jì)應(yīng)該是計(jì)算機(jī)科學(xué)技術(shù)最重要的基礎(chǔ)。寫出高質(zhì)量的程序是每個(gè)軟件開發(fā)者所追求的目標(biāo),要達(dá)到這個(gè)目標(biāo)僅靠學(xué)習(xí)幾門高級語言是遠(yuǎn)遠(yuǎn)不夠的,正如一個(gè)人僅靠認(rèn)識(shí)幾個(gè)漢字是決不可以寫出好文章一樣。數(shù)據(jù)結(jié)構(gòu)這門課程正是開啟程序設(shè)計(jì)知識(shí)寶庫的金鑰匙,其主要目的是培養(yǎng)學(xué)生將現(xiàn)實(shí)世界抽象為數(shù)據(jù)和數(shù)據(jù)模型的能力以及利用計(jì)算機(jī)進(jìn)行數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)加工的能力。學(xué)好數(shù)據(jù)結(jié)構(gòu),可以使你掌握更多的程序設(shè)計(jì)技巧,為以后學(xué)習(xí)計(jì)算機(jī)專業(yè)課程及走上工作崗位從事計(jì)算機(jī)大型軟件開發(fā)打下良好的基礎(chǔ)。目前,數(shù)據(jù)結(jié)構(gòu)是我國高校計(jì)算機(jī)類專業(yè)(含計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、網(wǎng)絡(luò)工程、信息安全等)的核心課程之一,也是其他信息類專業(yè)(含信息管理與信息系統(tǒng)、通信工程、信息與計(jì)算科學(xué)等)的必修課程之一。正因?yàn)樗谟?jì)算機(jī)培育計(jì)劃中的重要地位,大多數(shù)高校計(jì)算機(jī)類專業(yè)研究生入學(xué)考試都將數(shù)據(jù)結(jié)構(gòu)作為必考課程之一?! ”緯鴥?nèi)容共10章,第l章重點(diǎn)介紹了數(shù)據(jù)結(jié)構(gòu)與算法的基本概念,介紹了評價(jià)算法優(yōu)劣的主要指標(biāo)以及衡量算法效率的時(shí)間復(fù)雜度和空間復(fù)雜度;第2章到第4章,重點(diǎn)介紹了線性表、棧、隊(duì)列和字符串等線性結(jié)構(gòu)的邏輯特性、存儲(chǔ)結(jié)構(gòu),以及基本操作算法;第5章到第7章,重點(diǎn)介紹了多維數(shù)組、廣義表、樹、二叉樹、圖等非線性結(jié)構(gòu)的邏輯特征、存儲(chǔ)表示及基本操作算法的實(shí)現(xiàn)和具體應(yīng)用;第8章到第9章,介紹了在軟件開發(fā)中廣泛運(yùn)用的兩種操作:排序和查找,對一些常用的查找、排序算法進(jìn)行了詳細(xì)描述及效率分析。第10章將線性結(jié)構(gòu)和樹、圖等非線性結(jié)構(gòu)歸納在一起,運(yùn)用樹、圖的遍歷算法設(shè)計(jì)思想去解決實(shí)際問題,讓讀者理論聯(lián)系實(shí)際,以加深對各種數(shù)據(jù)結(jié)構(gòu)的理解。 書中算法采用c語言描述,每段代碼都保持良好的設(shè)計(jì)風(fēng)格,配有豐富的例題和習(xí)題?! ?shù)據(jù)結(jié)構(gòu)是一門實(shí)踐性很強(qiáng)的課程,讀者在進(jìn)行理論學(xué)習(xí)的同時(shí),需要多動(dòng)手編寫程序上機(jī)調(diào)試,以加深對所學(xué)知識(shí)的理解,提高編程能力?! ”緯勺鳛楦叩仍盒S?jì)算機(jī)類或信息類相關(guān)專業(yè)數(shù)據(jù)結(jié)構(gòu)課程教材,建議理論課時(shí)為50至70學(xué)時(shí),上機(jī)及課程設(shè)計(jì)等實(shí)踐課時(shí)為20至30學(xué)時(shí)。各院校可根據(jù)本校的專業(yè)特點(diǎn)和具體情況適當(dāng)增刪教學(xué)內(nèi)容?! ”緯信涮捉滩摹稊?shù)據(jù)結(jié)構(gòu)(C語言版)例題詳解與課程設(shè)計(jì)指導(dǎo)》,書中有各知識(shí)點(diǎn)的歸納與總結(jié),有例題詳解及習(xí)題解答以及課程設(shè)計(jì)指導(dǎo)。
內(nèi)容概要
《數(shù)據(jù)結(jié)構(gòu)(C語言版)(修訂版)》全面系統(tǒng)地介紹了線性表、隊(duì)列、堆棧、樹、圖等基本數(shù)據(jù)結(jié)構(gòu),以及這些數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)中的存儲(chǔ)及算法實(shí)現(xiàn),系統(tǒng)地介紹了各種查找及排序算法的實(shí)現(xiàn)和效率分析,最后一章給出了數(shù)據(jù)結(jié)構(gòu)綜合應(yīng)用實(shí)例。書中各種算法采用C語言描述,注重程序設(shè)計(jì)風(fēng)格。 《數(shù)據(jù)結(jié)構(gòu)(C語言版)(修訂版)》有配套教材《數(shù)據(jù)結(jié)構(gòu)(C語言版)例題詳解與課程設(shè)計(jì)指導(dǎo)》,書中有知識(shí)的歸納與總結(jié),有例題詳解及習(xí)題解答支及課程設(shè)計(jì)指導(dǎo)?! 稊?shù)據(jù)結(jié)構(gòu)(C語言版)(修訂版)》語言流暢、內(nèi)容通俗易懂,可作為計(jì)算機(jī)類及信息類專業(yè)教材,也可供擴(kuò)大研究開發(fā)人員自覺提高時(shí)使用。
書籍目錄
第1章 緒論1.1 什么是數(shù)據(jù)結(jié)構(gòu)1.2 基本概念和術(shù)語1.3 算法和算法描述語言1.4 算法分析本章小結(jié)習(xí)題第2章 線性表2.1 線性表的邏輯結(jié)構(gòu)2.2 線性表的順序存儲(chǔ)及運(yùn)算實(shí)現(xiàn)2.3 順序表應(yīng)用舉例2.4 線性表的鏈?zhǔn)酱鎯?chǔ)和運(yùn)算實(shí)現(xiàn)2.5 順序表和鏈表的比較本章小結(jié)習(xí)題第3章 棧和隊(duì)列3.1 棧3.2 棧的應(yīng)用舉例3.3 棧與遞歸3.4隊(duì)列3.5隊(duì)列應(yīng)用舉例本章小結(jié)習(xí)題第4章 串4.1 串及其基本運(yùn)算4.2 串的順序存儲(chǔ)及基本運(yùn)算4.3 串的堆存儲(chǔ)結(jié)構(gòu)4.4 串的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)4.5 文本編輯——串操作應(yīng)用本章小結(jié)習(xí)題第5章 數(shù)組和廣義表5.1 數(shù)組5.2 特殊矩陣的壓縮存儲(chǔ)5.3 廣義表本章小結(jié)習(xí)題第6章 樹和二叉樹6.1 樹的基本概念6.2 二叉樹6.3 遍歷二叉樹6.4 線索二叉樹6.5 樹與森林6.6 哈夫曼樹本章小結(jié)習(xí)題第7章 圖7.1 圖的基本概念7.2 圖的存儲(chǔ)結(jié)構(gòu)7.3 圖的遍歷7.4 最小生成樹7.5 最短路徑7.6 有向無環(huán)圖及其應(yīng)用本章小結(jié)習(xí)題第8章 查找8.1 基本概念8.2 線性表的查找8.3 樹表查找8.4 哈希表查找(雜湊法)本章小結(jié)習(xí)題第9章 排序9.1 基本概念9.2 插入排序9.3 交換排序9.4 選擇排序9.5 歸并排序(Merging Sort)本章小結(jié)習(xí)題第10章 數(shù)據(jù)結(jié)構(gòu)綜合應(yīng)用10.1 各種結(jié)構(gòu)類型之間的關(guān)系概述10.2 二叉樹與分治策略10.3 圖的深度優(yōu)先遍歷及其應(yīng)用本章小結(jié)習(xí)題參考文獻(xiàn)
章節(jié)摘錄
?。?)健壯性(Robustness):當(dāng)輸入數(shù)據(jù)非法使運(yùn)行環(huán)境改變時(shí),算法能恰當(dāng)?shù)刈鞒龇磻?yīng)或進(jìn)行處理,不會(huì)產(chǎn)生莫名其妙的輸出結(jié)果。為此,算法中應(yīng)對輸入數(shù)據(jù)和參數(shù)進(jìn)行合法性檢查。例如,從鍵盤輸入三角形的三條邊的長度,求三角形的面積。當(dāng)輸入的三個(gè)值不能組成三角形時(shí),不應(yīng)繼續(xù)計(jì)算,應(yīng)該報(bào)告輸入出錯(cuò)并進(jìn)行處理。處理的方法應(yīng)是返回一個(gè)表示錯(cuò)誤或錯(cuò)誤性質(zhì)的值,并中止程序的執(zhí)行,以便在更高的抽象層次上進(jìn)行處理?! 。?)時(shí)空效率(Efficiencv):要求算法的執(zhí)行時(shí)間盡可能地短,占用的存儲(chǔ)空間盡可能地少。但時(shí)空要求往往是相互矛盾的,節(jié)省了時(shí)間可能犧牲空間,反之亦然。設(shè)計(jì)者應(yīng)在時(shí)間與空間兩方面有所平衡?! ∩鲜鏊膫€(gè)目標(biāo),除“正確性”要求達(dá)到第三層次以上,其他目標(biāo)很難有具體要求,有時(shí)目標(biāo)之間還會(huì)互相抵觸,因此我們只能根據(jù)具體情況有所側(cè)重。例如,若算法需重復(fù)多次使用,則力求節(jié)省時(shí)間;若問題的數(shù)據(jù)量很大,機(jī)器的存儲(chǔ)量又較小,則力求節(jié)省空間。本節(jié)的算法分析主要討論算法的時(shí)間性能以及空間性能。
圖書封面
評論、評分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu) PDF格式下載