出版時(shí)間:2008-10 出版社:清華大學(xué)出版社 作者:趙玉蘭 等編著 頁(yè)數(shù):302
前言
隨著計(jì)算機(jī)的問(wèn)世,數(shù)據(jù)作為計(jì)算機(jī)程序的處理對(duì)象也隨之產(chǎn)生了。在計(jì)算機(jī)的發(fā)展初期,計(jì)算機(jī)主要用于數(shù)值性計(jì)算,處理的是數(shù)值性數(shù)據(jù),其特點(diǎn)是數(shù)據(jù)量少,計(jì)算比較復(fù)雜。在這一階段,“數(shù)據(jù)結(jié)構(gòu)與算法”還未形成一門系統(tǒng)的學(xué)科,而是零星地分布在程序設(shè)計(jì)、圖論、集合、代數(shù)、操作系統(tǒng)和編譯原理等課程中。隨著計(jì)算機(jī)的發(fā)展,計(jì)算機(jī)應(yīng)用領(lǐng)域的不斷擴(kuò)大,計(jì)算機(jī)不僅要處理數(shù)值性數(shù)據(jù),也要處理非數(shù)值性數(shù)據(jù)。據(jù)統(tǒng)計(jì),現(xiàn)在非數(shù)值性計(jì)算占到了90%以上,而且由于數(shù)據(jù)量越來(lái)越大,數(shù)據(jù)之間的關(guān)系也越來(lái)越復(fù)雜,這么多的數(shù)據(jù)在計(jì)算機(jī)中并不是雜亂無(wú)章地存放,而是有其內(nèi)在的聯(lián)系,只有把它們之間的關(guān)系分析清楚,才能有效地對(duì)數(shù)據(jù)進(jìn)行處理。因此,除了考慮數(shù)據(jù)本身的數(shù)學(xué)特性之外,還必須考慮數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),在這種情況下,“數(shù)據(jù)結(jié)構(gòu)與算法”這門課程也隨之形成。
內(nèi)容概要
數(shù)據(jù)結(jié)構(gòu)與算法是計(jì)算機(jī)科學(xué)中一門綜合性的專業(yè)基礎(chǔ)課,它不僅是計(jì)算機(jī)學(xué)科的核心課程,而且已成為其他非計(jì)算機(jī)專業(yè)的熱門選修課之一。 本書從抽象類型的角度描述了各種邏輯結(jié)構(gòu),即線性結(jié)構(gòu)、樹(shù)形結(jié)構(gòu)、集合和圖形結(jié)構(gòu)。書中由簡(jiǎn)單到復(fù)雜,循序漸進(jìn),對(duì)各種數(shù)據(jù)結(jié)構(gòu)從邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和基本操作方面進(jìn)行了詳細(xì)的介紹;本書另外一個(gè)特點(diǎn)是對(duì)各種算法進(jìn)行了算法分析,對(duì)典型算法還給出了算法正確性的證明。最后一章對(duì)一些常用的算法,如“分而治之法”、“動(dòng)態(tài)規(guī)劃法”、“貪心法”和“回溯法”等技術(shù)進(jìn)行了詳細(xì)的介紹,為設(shè)計(jì)高效的程序,即以最小的成本、最快的速度和最好的質(zhì)量開(kāi)發(fā)出適合各種應(yīng)用需求的軟件奠定了基礎(chǔ)。 全書從面向?qū)ο蟮慕嵌瘸霭l(fā),利用C++語(yǔ)言對(duì)書中的算法進(jìn)行了描述,并配有注解,有利于讀者的理解;本書概念嚴(yán)謹(jǐn)、語(yǔ)言通俗易懂、條理清楚、圖文并茂,既便于教學(xué),又便于自學(xué)。 本書可作為計(jì)算機(jī)類專業(yè)或信息類專業(yè)的本科或?qū)?平滩模部勺鳛橛嘘P(guān)科研人員的參考書。
書籍目錄
第1章 概述 1.1 數(shù)據(jù)結(jié)構(gòu)的發(fā)展 1.2 數(shù)據(jù)結(jié)構(gòu) 1.2.1 數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)介 1.2.2 基本概念 1.3 數(shù)據(jù)的邏輯結(jié)構(gòu) 1.3.1 預(yù)備知識(shí) 1.3.2 數(shù)據(jù)結(jié)構(gòu)的分類 1.4 抽象數(shù)據(jù)類型 1.5 數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu) 1.5.1 順序存儲(chǔ)結(jié)構(gòu) 1.5.2 鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 1.6 算法與算法分析 1.6.1 算法 1.6.2 算法性能分析和度量 1.6.3 算法的描述 1.7 ADT的表示與實(shí)現(xiàn)間的關(guān)系 習(xí)題1第2章 基本數(shù)據(jù)結(jié)構(gòu) 2.1 線性表 2.1.1 ADT線性表 2.1.2 線性表的順序存儲(chǔ) 2.1.3 線性表的鏈?zhǔn)酱鎯?chǔ) 2.2 數(shù)組 2.2.1 數(shù)組的定義 2.2.2 數(shù)組的存儲(chǔ) 2.2.3 特殊矩陣 2.2.4 稀疏矩陣 2.3 字符串 2.3.1 串的表示與實(shí)現(xiàn) 2.3.2 串的模式匹配算法 習(xí)題2第3章 棧、隊(duì)列與廣義表 3.1 棧 3.1.1 ADT棧 3.1.2 棧的實(shí)現(xiàn) 3.1.3 棧與遞歸 3.2 隊(duì)列 3.2.1 ADT隊(duì)列 3.2.2 隊(duì)列的實(shí)現(xiàn) 3.3 棧與隊(duì)列的應(yīng)用 3.3.1 棧的應(yīng)用 3.3.2 隊(duì)列的應(yīng)用 3.4 廣義表 3.4.1 廣義表的定義和基本運(yùn)算 3.4.2 廣義表的存儲(chǔ)結(jié)構(gòu) 3.4.3 廣義表基本操作的實(shí)現(xiàn) 習(xí)題3第4章 樹(shù)與二叉樹(shù) 4.1 樹(shù)的定義和相關(guān)術(shù)語(yǔ) 4.2 二叉樹(shù) 4.2.1 ADT二叉樹(shù) 4.2.2 二叉樹(shù)的遍歷 4.2.3 二叉樹(shù)的性質(zhì) 4.2.4 二叉樹(shù)的實(shí)現(xiàn) 4.2.5 二叉樹(shù)遍歷的非遞歸實(shí)現(xiàn) 4.2.6 線索二叉樹(shù) 4.3 樹(shù)與森林 4.3.1 樹(shù)與森林的遍歷 4.3.2 樹(shù)的存儲(chǔ)結(jié)構(gòu) 4.4 森林與二叉樹(shù)的關(guān)系 ……第5章 集合與查找第6章 圖第7章 排序第8章 外部排序第9章 動(dòng)態(tài)存儲(chǔ)管理第10章 算法分析與設(shè)計(jì)技術(shù)參考文獻(xiàn)
章節(jié)摘錄
第1章 概述1.2 數(shù)據(jù)結(jié)構(gòu) 1.2.1 數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)介 數(shù)據(jù)結(jié)構(gòu)理論雖然已經(jīng)從萌芽開(kāi)始走向了成熟,但是,站在不同的角度,數(shù)據(jù)結(jié)構(gòu)的側(cè)重點(diǎn)將有所不同。下面將給出實(shí)例來(lái)說(shuō)明從非數(shù)值性計(jì)算的角度出發(fā),數(shù)據(jù)結(jié)構(gòu)所表示的內(nèi)在含義。
圖書封面
評(píng)論、評(píng)分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu)與算法 PDF格式下載