出版時間:2009-9 出版社:清華大學(xué)出版社 作者:汪沁,奚李峰 主編 頁數(shù):257
前言
我國高等學(xué)校計算機(jī)教育近年來迅猛發(fā)展,應(yīng)用所學(xué)計算機(jī)知識解決實(shí)際問題,已經(jīng)成為當(dāng)代大學(xué)生的必備能力?! r代的進(jìn)步與社會的發(fā)展對高等學(xué)校計算機(jī)教育的質(zhì)量提出了更高、更新的要求?,F(xiàn)在,很多高等學(xué)校都在積極探索符合自身特點(diǎn)的教學(xué)模式,涌現(xiàn)出一大批非常優(yōu)秀的精品課程?! 榱诉m應(yīng)社會的需求,滿足計算機(jī)教育的發(fā)展需要,清華大學(xué)出版社在進(jìn)行了大量調(diào)查研究的基礎(chǔ)上,組織編寫了《高等學(xué)校計算機(jī)專業(yè)教材精選》。本套教材從全國各高校的優(yōu)秀計算機(jī)教材中精挑細(xì)選了一批很有代表性且特色鮮明的計算機(jī)精品教材,把作者們對各自所授計算機(jī)課程的獨(dú)特理解和先進(jìn)經(jīng)驗(yàn)推薦給全國師生?! ”鞠盗薪滩奶攸c(diǎn)如下?! 。?)編寫目的明確。本套教材主要面向廣大高校的計算機(jī)專業(yè)學(xué)生,使學(xué)生通過本套教材,學(xué)習(xí)計算機(jī)科學(xué)與技術(shù)方面的基本理論和基本知識,接受應(yīng)用計算機(jī)解決實(shí)際問題的基本訓(xùn)練?! 。?)注重編寫理念。本套教材作者群為各校相應(yīng)課程的主講,有一定經(jīng)驗(yàn)積累,且編寫思路清晰,有獨(dú)特的教學(xué)思路和指導(dǎo)思想,其教學(xué)經(jīng)驗(yàn)具有推廣價值。本套教材中不乏各類精品課配套教材,并力圖努力把不同學(xué)校的教學(xué)特點(diǎn)反映到每本教材中?! 。?)理論知識與實(shí)踐相結(jié)合。本套教材貫徹從實(shí)踐中來到實(shí)踐中去的原則,書中的許多必須掌握的理論都將結(jié)合實(shí)例來講,同時注重培養(yǎng)學(xué)生分析、解決問題的能力,滿足社會用人要求?! 。?)易教易用,合理適當(dāng)。本套教材編寫時注意結(jié)合教學(xué)實(shí)際的課時數(shù),把握教材的篇幅。同時,對一些知識點(diǎn)按教育部教學(xué)指導(dǎo)委員會的最新精神進(jìn)行合理取舍與難易控制?! 。?)注重教材的立體化配套。大多數(shù)教材都將配套教師用課件、習(xí)題及其解答,學(xué)生上機(jī)實(shí)驗(yàn)指導(dǎo)、教學(xué)網(wǎng)站等輔助教學(xué)資源,方便教學(xué)?! ‰S著本套教材陸續(xù)出版,相信能夠得到廣大讀者的認(rèn)可和支持,為我國計算機(jī)教材建設(shè)及計算機(jī)教學(xué)水平的提高,為計算機(jī)教育事業(yè)的發(fā)展做出應(yīng)有的貢獻(xiàn)。
內(nèi)容概要
本書系統(tǒng)地介紹了各種數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)、存儲結(jié)構(gòu)及相關(guān)算法。書中采用c語言描述算法。主要內(nèi)容包括:數(shù)據(jù)結(jié)構(gòu)的基本概念、算法描述和算法分析;線性表、堆棧、隊列、串、數(shù)組、樹、圖等結(jié)構(gòu);查找、排序等。每章后面配有小結(jié)、習(xí)題和討論題。最后一章附有完整的實(shí)驗(yàn)指導(dǎo)書,每節(jié)給出了完整的C語言源程序示例。 本書敘述清晰、深入淺出、注重實(shí)踐環(huán)節(jié),便于教學(xué)與實(shí)踐。 本書可作為高等院校計算機(jī)專業(yè)的教材,也可供從事計算機(jī)應(yīng)用與工程工作的科技工作者作為自學(xué)參考圖書。
書籍目錄
第1章 緒論 1.1 數(shù)據(jù)結(jié)構(gòu)的概念 1.1.1 引言 1.1.2 數(shù)據(jù)結(jié)構(gòu)有關(guān)概念與術(shù)語 1.2 抽象數(shù)據(jù)類型 1.3 算法描述與分析 1.3.1 什么是算法 1.3.2 算法分析技術(shù) 1.4 小結(jié) 討論小課堂 習(xí)題第2章 線性表 2.1 線性表的定義及其運(yùn)算 2.1.1 線性表的定義 2.1.2 線性表的基本操作 2.2 線性表的順序存儲結(jié)構(gòu)及實(shí)現(xiàn) 2.2.1 順序存儲結(jié)構(gòu) 2.2.2 線性表在向量中基本運(yùn)算的實(shí)現(xiàn) 2.3 線性表的鏈表存儲結(jié)構(gòu) 2.3.1 單鏈表 2.3.2 線性鏈表基本運(yùn)算的實(shí)現(xiàn) 2.4 循環(huán)鏈表和雙向鏈表 2.4.1 循環(huán)鏈表 2.4.2 雙向鏈表 2.4.3 順序存儲結(jié)構(gòu)與鏈表存儲結(jié)構(gòu)的綜合分析與比較 2.5 單鏈表的應(yīng)用 2.5.1 多項式相加的鏈表存儲結(jié)構(gòu) 2.5.2 多項式相加的算法實(shí)現(xiàn) 2.6 小結(jié) 討論小課堂 習(xí)題第3章 棧和隊列 3.1 棧 3.1.1 棧的定義 3.1.2 棧的基本操作 3.2 棧的順序存儲結(jié)構(gòu)及實(shí)現(xiàn) 3.2.1 棧的順序存儲結(jié)構(gòu) 3.2.2 順序棧的類定義 3.3 棧的鏈表存儲結(jié)構(gòu)及實(shí)現(xiàn) 3.4 棧的應(yīng)用 3.4.1 表達(dá)式的計算 3.4.2 子程序的嵌套調(diào)用 3.4.3 遞歸調(diào)用 3.4.4 n階Hanoi塔問題 3.5 隊列 3.5.1 隊列的定義及運(yùn)算 3.5.2 隊列的抽象數(shù)據(jù)類型描述 3.6 隊列的順序存儲結(jié)構(gòu)及實(shí)現(xiàn) 3.7 隊列的鏈表存儲結(jié)構(gòu)及實(shí)現(xiàn) 3.8 隊列的應(yīng)用 3.9 小結(jié) 討論小課堂 習(xí)題第4章 串 4.1 串的基本概念 4.1.1 串的定義 4.1.2 串的基本操作 4.2 串的存儲與基本操作的實(shí)現(xiàn) 4.2.1 定長順序串 4.2.2 堆串 4.2.3 塊鏈串 4.2.4 串操作的實(shí)現(xiàn) 4.3 串的模式匹配 4.3.1 樸素模式匹配算法 4.3.2 模式匹配的KMP算法 4.4 串的應(yīng)用舉例:文本編輯 4.5 小結(jié) 討論小課堂 習(xí)題第5章 數(shù)組和廣義表第6章 樹與二叉樹第7章 圖第8章 查找第9章 排序第10章 索引結(jié)構(gòu)與散列附錄 上機(jī)實(shí)驗(yàn)指導(dǎo)參考文獻(xiàn)
章節(jié)摘錄
第1章 緒論 計算機(jī)科學(xué)是一門研究數(shù)據(jù)表示和數(shù)據(jù)處理的科學(xué)?,F(xiàn)在,計算機(jī)處理的對象由單純的數(shù)值發(fā)展到字符、圖像、聲音等,表示這些對象的數(shù)據(jù)成分往往不是單一的,而是多成分且形成一定的結(jié)構(gòu)。因此,在程序設(shè)計中,除了應(yīng)精心設(shè)計算法外,還應(yīng)精心組織數(shù)據(jù)(包括原始數(shù)據(jù)、中間結(jié)果和最終結(jié)果)。使之形成一定的組織形式(數(shù)據(jù)結(jié)構(gòu)),以便讓計算機(jī)盡可能高效率地處理。因此,要設(shè)計出一個結(jié)構(gòu)好、效率高的程序,必須研究數(shù)據(jù)的特性和數(shù)據(jù)間的相互關(guān)系及其對應(yīng)的存儲表示,并利用這些特性和關(guān)系設(shè)計出相應(yīng)的算法和程序?!皵?shù)據(jù)結(jié)構(gòu)”就是在此背景下逐步形成和發(fā)展起來的。通過對數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí),你將掌握非數(shù)值計算程序設(shè)計中用的基本方法和技巧?! W(xué)習(xí)重點(diǎn): ☆數(shù)據(jù)結(jié)構(gòu)的基本概念 ☆數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)以及兩者之間的關(guān)系 ☆算法及特性 ☆()記號的表示 問題;你過去是否聽說過“數(shù)據(jù)結(jié)構(gòu)”?你知道數(shù)據(jù)結(jié)構(gòu)是一門討論什么內(nèi)容的學(xué) 科嗎? 1.1數(shù)據(jù)結(jié)構(gòu)的概念 數(shù)據(jù)結(jié)構(gòu)是計算機(jī)科學(xué)與技術(shù)專業(yè)的專業(yè)基礎(chǔ)課,是一門十分重要的核心課程。所有的計算機(jī)系統(tǒng)軟件和應(yīng)用軟件都要用到各種類型的數(shù)據(jù)結(jié)構(gòu)。因此,要想更好地運(yùn)用計算機(jī)來解決實(shí)際問題,僅掌握幾種計算機(jī)程序設(shè)計語言難以應(yīng)付眾多復(fù)雜的課題的。要想有效地使用計算機(jī)、充分發(fā)揮計算機(jī)的性能,還必須學(xué)習(xí)和掌握好與數(shù)據(jù)結(jié)構(gòu)有關(guān)的知識。 數(shù)據(jù)結(jié)構(gòu)涉及各方面的知識,如計算機(jī)硬件范圍的存儲裝置和存取方法、在計算機(jī)軟件范圍中的文件系統(tǒng)、數(shù)據(jù)的動態(tài)存儲與管理、信息檢索、數(shù)學(xué)范圍的許多算法知識以及其他綜合性知識(如編碼理論、算子關(guān)系、數(shù)據(jù)類型、數(shù)據(jù)表示、數(shù)據(jù)運(yùn)算、數(shù)據(jù)存取等)。因此,數(shù)據(jù)結(jié)構(gòu)是數(shù)學(xué)、計算機(jī)硬件、軟件三者之間的一門核心課程。打好“數(shù)據(jù)結(jié)構(gòu)”基礎(chǔ),對于學(xué)習(xí)計算機(jī)專業(yè)的其他課程,如操作系統(tǒng)、編譯原理、數(shù)據(jù)庫管理系統(tǒng)、軟件T程、人工智能等都是十分有益的?! ?.1.1 引言 程序設(shè)計的實(shí)質(zhì)即為計算機(jī)處理問題編制一組“指令”,首先需要解決兩個問題:算法和數(shù)據(jù)結(jié)構(gòu)。算法即處理問題的策略,而數(shù)據(jù)結(jié)構(gòu)即為問題的數(shù)學(xué)模型。
圖書封面
評論、評分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu) PDF格式下載