出版時(shí)間:2009-3 出版社:清華大學(xué)出版社 作者:(美)霍羅維茲 等著,張力 等譯 頁(yè)數(shù):471 譯者:張力
Tag標(biāo)簽:無(wú)
內(nèi)容概要
本書是最經(jīng)典數(shù)據(jù)結(jié)構(gòu)教材的最新版本,國(guó)內(nèi)外大多數(shù)的同類教材都是以本書為藍(lán)本編寫而來(lái)的。 本書用C++作為描述語(yǔ)言,全面而生動(dòng)地介紹了數(shù)據(jù)結(jié)構(gòu)的有關(guān)知識(shí),如數(shù)組、棧、隊(duì)列、鏈表、樹和圖,以及構(gòu)成所有軟件基礎(chǔ)的排序散列技術(shù)。此外,本書還介紹了各種高級(jí)或特殊數(shù)據(jù)結(jié)構(gòu),如優(yōu)先級(jí)隊(duì)列、高效二叉查找樹、多路查找樹等。本書對(duì)大多數(shù)算法都給出了計(jì)算時(shí)間在最優(yōu)、最差情形下的復(fù)雜度分析。本書的更新版已涵蓋了C++語(yǔ)言的最新特性。 本書不僅可以作為計(jì)算機(jī)及相關(guān)專業(yè)本科生“數(shù)據(jù)結(jié)構(gòu)”課程的教材,也可以作為研究生第一學(xué)年的“高等數(shù)據(jù)結(jié)構(gòu)”課程的教材,同時(shí),本書所介紹的各種算法的C++語(yǔ)言實(shí)現(xiàn),對(duì)有關(guān)專業(yè)人員也具有很好的參考價(jià)值。
作者簡(jiǎn)介
Ellis Horowitz是南加州大學(xué)計(jì)算機(jī)與電子工程系的教授。Horowitz博士已編著了10多本教材,并發(fā)表了大量學(xué)術(shù)論文。
書籍目錄
第1章 基本概念 1.1 概述:系統(tǒng)生命周期 1.2 面向?qū)ο蟮某绦蛟O(shè)計(jì) 1.3 數(shù)據(jù)抽象和封裝 1.4 C++語(yǔ)言基礎(chǔ) 1.5 算法規(guī)范 1.6 標(biāo)準(zhǔn)模板庫(kù) 1.7 性能分析和度量 1.8 參考文獻(xiàn)和推薦讀物第2章 數(shù)組 2.1 抽象數(shù)據(jù)類型和C++類 2.2 將數(shù)組作為一種抽象數(shù)據(jù)類型 2.3 多項(xiàng)式抽象數(shù)據(jù)類型 2.4 稀疏矩陣 2.5 多維數(shù)組的表示 2.6 字符串抽象數(shù)據(jù)類型 2.7 參考文獻(xiàn)和推薦讀物 2.8 附加習(xí)題第3章 棧和隊(duì)列 3.1 C++模板 3.2 棧的抽象數(shù)據(jù)類型 3.3 隊(duì)列抽象數(shù)據(jù)類型 3.4 C++中的子類型和繼承 3.5 一個(gè)迷宮問(wèn)題 3.6 計(jì)算表達(dá)式 3.7 附加習(xí)題第4章 鏈表 4.1 單鏈表和鏈 4.2 用C++語(yǔ)言表示鏈表 4.3 鏈的模板類 4.4 循環(huán)鏈表 4.5 可用空間鏈表 4.6 鏈?zhǔn)綏:玩準(zhǔn)疥?duì)列 4.7 多項(xiàng)式 4.8 等價(jià)類 4.9 稀疏矩陣 4.10 雙向鏈表 4.11 廣義表第5章 樹 5.1 概述 5.2 二叉樹 5.3 二叉樹的遍歷和迭代程序 5.4 補(bǔ)充的二叉樹操作 5.5 線索二叉樹 5.6 堆 5.7 二叉查找樹 5.8 選擇樹 5.9 森林 5.10 離散集合表示 5.11 二叉樹計(jì)數(shù) 5.12 參考文獻(xiàn)和推薦讀物第6章 圖 6.1 圖的抽象數(shù)據(jù)類型 6.2 圖的基本操作 6.3 最小代價(jià)生成樹 6.4 最短路徑和傳遞閉包 6.5 活動(dòng)網(wǎng)絡(luò) 6.6 參考文獻(xiàn)和推薦讀物 6.7 附加習(xí)題第7章 排序 7.1 目的 7.2 插入排序 7.3 快速排序 7.4 排序算法能夠多快 7.5 歸并排序 7.6 堆排序 7.7 多關(guān)鍵字排序 7.8 鏈和列表排序 7.9 內(nèi)部排序總結(jié) 7.10 外部排序 7.11 參考文獻(xiàn)和推薦讀物第8章 散列第9章 優(yōu)先隊(duì)列第10章 高效二叉查找樹第11章 多路查找樹第12章 數(shù)字查找結(jié)構(gòu)術(shù)語(yǔ)表
章節(jié)摘錄
第1章 基本概念 1.1 概述:系統(tǒng)生命周期 我們假定本書讀者已經(jīng)全面學(xué)習(xí)了程序設(shè)計(jì)的基本課程,并具備了扎實(shí)的編程基礎(chǔ)。程序設(shè)計(jì)的基本方法通常強(qiáng)調(diào)的是掌握一門編程語(yǔ)言的語(yǔ)法(它的語(yǔ)法規(guī)則),并且應(yīng)用這門語(yǔ)言去解決一些相對(duì)小的問(wèn)題。本書將超越基本概念和方法的局限,提供一些對(duì)于設(shè)計(jì)和實(shí)現(xiàn)大規(guī)模計(jì)算機(jī)系統(tǒng)所必須的工具和技術(shù)。我們相信,在數(shù)據(jù)抽象和封裝、算法規(guī)范、性能分析和測(cè)量等方面堅(jiān)實(shí)的基礎(chǔ)將會(huì)為讀者提供必要的程序設(shè)計(jì)方法學(xué)。本章將討論這方面的一些細(xì)節(jié)。還將簡(jiǎn)略地討論遞歸程序,因?yàn)樵S多讀者可能對(duì)這種重要的技術(shù)僅僅只有粗淺的認(rèn)識(shí)。然而,在開始討論具體的工具和技術(shù)以前,需要強(qiáng)調(diào)的是,程序設(shè)計(jì)不僅僅是編寫代碼,還包括許多其他的內(nèi)容。一個(gè)好的程序員把大規(guī)模計(jì)算機(jī)程序看成是一個(gè)包含了許多復(fù)雜交互部分的系統(tǒng)。作為系統(tǒng),這些程序要經(jīng)歷一個(gè)被稱為“系統(tǒng)生命周期”的開發(fā)過(guò)程。這個(gè)生命周期由需求、分析、設(shè)計(jì)、編碼和驗(yàn)證等階段組成。盡管我們將分別討論這些生命周期階段,但它們是密切相互關(guān)聯(lián)的,而且對(duì)這些生命周期階段的時(shí)間劃分也是粗略的。在第1.8節(jié)中,列出了一些關(guān)于系統(tǒng)生命周期及其各個(gè)不同階段的一些資料,這些資料將給讀者提供更詳細(xì)的補(bǔ)充信息?! 。?)需求。所有大型的程序設(shè)計(jì)項(xiàng)目在開始時(shí),都需要定義一組描述該項(xiàng)目目標(biāo)的規(guī)格說(shuō)明。這些需求描述了程序所必須得到的信息(輸入),以及必然產(chǎn)生的結(jié)果(輸出)。通常,初始的規(guī)格說(shuō)明都是含糊不清的,必須經(jīng)過(guò)逐步細(xì)化,才能夠得到嚴(yán)格的包括各種情況的輸入和輸出描述。
編輯推薦
不僅可以作為計(jì)算機(jī)及相關(guān)專業(yè)本科生“數(shù)據(jù)結(jié)構(gòu)”課程的教材,也可以作為研究生第一學(xué)年的“高等數(shù)據(jù)結(jié)構(gòu)”課程的教材,同時(shí),《數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)(C++語(yǔ)言版)(第2版)》所介紹的各種算法的C++語(yǔ)言實(shí)現(xiàn),對(duì)有關(guān)專業(yè)人員也具有很好的參考價(jià)值。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu)基礎(chǔ) PDF格式下載