數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)

出版時間:2009-3  出版社:清華大學(xué)出版社  作者:(美)霍羅維茲 等著,張力 等譯  頁數(shù):471  譯者:張力  
Tag標(biāo)簽:無  

內(nèi)容概要

本書是最經(jīng)典數(shù)據(jù)結(jié)構(gòu)教材的最新版本,國內(nèi)外大多數(shù)的同類教材都是以本書為藍(lán)本編寫而來的。    本書用C++作為描述語言,全面而生動地介紹了數(shù)據(jù)結(jié)構(gòu)的有關(guān)知識,如數(shù)組、棧、隊(duì)列、鏈表、樹和圖,以及構(gòu)成所有軟件基礎(chǔ)的排序散列技術(shù)。此外,本書還介紹了各種高級或特殊數(shù)據(jù)結(jié)構(gòu),如優(yōu)先級隊(duì)列、高效二叉查找樹、多路查找樹等。本書對大多數(shù)算法都給出了計算時間在最優(yōu)、最差情形下的復(fù)雜度分析。本書的更新版已涵蓋了C++語言的最新特性。    本書不僅可以作為計算機(jī)及相關(guān)專業(yè)本科生“數(shù)據(jù)結(jié)構(gòu)”課程的教材,也可以作為研究生第一學(xué)年的“高等數(shù)據(jù)結(jié)構(gòu)”課程的教材,同時,本書所介紹的各種算法的C++語言實(shí)現(xiàn),對有關(guān)專業(yè)人員也具有很好的參考價值。

作者簡介

Ellis Horowitz是南加州大學(xué)計算機(jī)與電子工程系的教授。Horowitz博士已編著了10多本教材,并發(fā)表了大量學(xué)術(shù)論文。

書籍目錄

第1章 基本概念  1.1 概述:系統(tǒng)生命周期  1.2 面向?qū)ο蟮某绦蛟O(shè)計  1.3 數(shù)據(jù)抽象和封裝  1.4 C++語言基礎(chǔ)  1.5 算法規(guī)范  1.6 標(biāo)準(zhǔn)模板庫  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 一個迷宮問題  3.6 計算表達(dá)式  3.7 附加習(xí)題第4章 鏈表  4.1 單鏈表和鏈  4.2 用C++語言表示鏈表  4.3 鏈的模板類  4.4 循環(huán)鏈表  4.5 可用空間鏈表  4.6 鏈?zhǔn)綏:玩準(zhǔn)疥?duì)列  4.7 多項(xiàng)式  4.8 等價類  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 二叉樹計數(shù)  5.12 參考文獻(xiàn)和推薦讀物第6章 圖  6.1 圖的抽象數(shù)據(jù)類型  6.2 圖的基本操作  6.3 最小代價生成樹  6.4 最短路徑和傳遞閉包  6.5 活動網(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ù)語表

章節(jié)摘錄

  第1章 基本概念  1.1 概述:系統(tǒng)生命周期  我們假定本書讀者已經(jīng)全面學(xué)習(xí)了程序設(shè)計的基本課程,并具備了扎實(shí)的編程基礎(chǔ)。程序設(shè)計的基本方法通常強(qiáng)調(diào)的是掌握一門編程語言的語法(它的語法規(guī)則),并且應(yīng)用這門語言去解決一些相對小的問題。本書將超越基本概念和方法的局限,提供一些對于設(shè)計和實(shí)現(xiàn)大規(guī)模計算機(jī)系統(tǒng)所必須的工具和技術(shù)。我們相信,在數(shù)據(jù)抽象和封裝、算法規(guī)范、性能分析和測量等方面堅實(shí)的基礎(chǔ)將會為讀者提供必要的程序設(shè)計方法學(xué)。本章將討論這方面的一些細(xì)節(jié)。還將簡略地討論遞歸程序,因?yàn)樵S多讀者可能對這種重要的技術(shù)僅僅只有粗淺的認(rèn)識。然而,在開始討論具體的工具和技術(shù)以前,需要強(qiáng)調(diào)的是,程序設(shè)計不僅僅是編寫代碼,還包括許多其他的內(nèi)容。一個好的程序員把大規(guī)模計算機(jī)程序看成是一個包含了許多復(fù)雜交互部分的系統(tǒng)。作為系統(tǒng),這些程序要經(jīng)歷一個被稱為“系統(tǒng)生命周期”的開發(fā)過程。這個生命周期由需求、分析、設(shè)計、編碼和驗(yàn)證等階段組成。盡管我們將分別討論這些生命周期階段,但它們是密切相互關(guān)聯(lián)的,而且對這些生命周期階段的時間劃分也是粗略的。在第1.8節(jié)中,列出了一些關(guān)于系統(tǒng)生命周期及其各個不同階段的一些資料,這些資料將給讀者提供更詳細(xì)的補(bǔ)充信息。 ?。?)需求。所有大型的程序設(shè)計項(xiàng)目在開始時,都需要定義一組描述該項(xiàng)目目標(biāo)的規(guī)格說明。這些需求描述了程序所必須得到的信息(輸入),以及必然產(chǎn)生的結(jié)果(輸出)。通常,初始的規(guī)格說明都是含糊不清的,必須經(jīng)過逐步細(xì)化,才能夠得到嚴(yán)格的包括各種情況的輸入和輸出描述。

編輯推薦

  不僅可以作為計算機(jī)及相關(guān)專業(yè)本科生“數(shù)據(jù)結(jié)構(gòu)”課程的教材,也可以作為研究生第一學(xué)年的“高等數(shù)據(jù)結(jié)構(gòu)”課程的教材,同時,《數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)(C++語言版)(第2版)》所介紹的各種算法的C++語言實(shí)現(xiàn),對有關(guān)專業(yè)人員也具有很好的參考價值。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    數(shù)據(jù)結(jié)構(gòu)基礎(chǔ) PDF格式下載


用戶評論 (總計3條)

 
 

  •   這本書很好,數(shù)據(jù)結(jié)構(gòu)么
  •   書很喜歡,好東西啊。就是怕沒時間看。
  •   正在看,老師推薦的很好。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7