世界著名計算機教材精選:數據結構基礎(C語言版)(第2版) [FUNDAMENTALS OF DATA STRUCTURES IN C Second Edition]

世界著名計算機教材精選:數據結構基礎(C語言版)(第2版) [FUNDAMENTALS OF DATA STRUCTURES IN C Second Edition] pdf epub mobi txt 電子書 下載 2025

[美] 霍羅維茲 等 著,硃仲濤 譯
圖書標籤:
  • 數據結構
  • C語言
  • 教材
  • 計算機科學
  • 算法
  • 數據存儲
  • 數據組織
  • 經典教材
  • FUNDAMENTALS OF DATA STRUCTURES
  • 第二版
想要找書就要到 靜思書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 清華大學齣版社
ISBN:9787302186960
版次:1
商品編碼:10079739
品牌:清華大學
包裝:平裝
外文名稱:FUNDAMENTALS OF DATA STRUCTURES IN C Second Edition
開本:16開
齣版時間:2009-03-01
用紙:膠版紙
頁數:470
正文語種:中文

具體描述

編輯推薦

  (1)用C作為描述語言,
  (2)介紹基本數據結構和高級或特殊數據結構,如優先級隊列、高效二叉查找樹、多路查找樹等。
  (3)對大多數算法都給齣瞭計算時間在zuiyou、zui差情形下的復雜度分析。

內容簡介

  本書是經典數據結構教材的全新版本,國內外大多數的同類教材都是以本書為藍本編寫而來的。
  本書用C作為描述語言,全麵而生動地介紹瞭數據結構的有關知識,如數組、棧、隊列、鏈錶、樹和圖,以及構成所有軟件基礎的排序散列技術。此外,本書還介紹瞭各種高級或特殊數據結構,如優先級隊列、高效二叉查找樹、多路查找樹等。本書對大多數算法都給齣瞭計算時間在很優、很差情形下的復雜度分析。
  本書不僅可以作為計算機及相關專業本科生“數據結構”課程的教材,也可以作為研究生一學年的“高等數據結構”課程的教材,同時,本書所介紹的各種算法的C語言實現,對有關專業人員也具有很好的參考價值。

作者簡介

  Ellis Horowitz,是南加州大學計算機與電子工程係的教授。Horowitz博士已編著瞭10多本教材,並發錶瞭大量學術論文。
  Sartaj Sahni是佛羅裏達大學計算機與信息科學係的傑齣教授和講座教授。Sahni博士已發錶300多篇學術研究論文,編著瞭15本教材。
  Susan Anderson-Freed是伊利諾伊衛斯理大學計算機教授。她的研究領域是數據庫管理係統、Web設計與開發。她畢業於諾伯特大學,並在印第安納大學獲得碩士和博士學位,以及在Bradley大學獲得計算機理學地碩士學位。她從1977年起就供職於伊利諾伊衛斯理大學。

目錄

第1章 基本概念
1.1 概觀:係統生命周期
1.2 指針和動態存儲分配
1.2.1 指針
1.2.2 動態存儲分配
1.2.3 指針隱患
1.3 算法形式規範
1.3.1 綜論
1.3.2 遞歸算法
1.4 數據抽象
1.5 性能分析
1.5.1 空間復雜度
1.5.2 時間復雜度
1.5.3 漸近記號(O,Q,)
1.5.4 實際復雜度
1.6 性能度量
1.6.1 定時
1.6.2 生成測試數據
1.7 參考文獻和選讀材料

第2章 數組和結構
2.1 數組
2.1.1 數組的抽象數據類型
2.1.2 c語言的數組
2.2 數組的動態存儲分配
2.2.1 一維數組
2.2.2 二維數組
2.3 結構體和聯閤體
2.3.1 結構體
2.3.2 聯閤體
2.3.3 結構的內部實現
2.3.4 自引用結構
2.4 多項式
2.4.1 多項式的抽象數據類型
2.4.2 多項式的錶示
2.4.3 多項式加法
2.5 稀疏矩陣
2.5.1 稀疏矩陣的抽象數據類型
2.5.2 稀疏矩陣的錶示
2.5.3 矩陣轉置
2.5.4 矩陣相乘
2.6 多維數組的錶示
2.7 字符串
2.7.1 字符串的抽象數據類型
2.7.2 C語言的字符串
2.7.3 模式匹配
2.8 參考文獻和選讀材料
2.9 補充習題

第3章 棧與隊列
3.1 棧
3.2 動態棧
3.3 隊列
3.4 動態循環隊列
3.5 迷宮問題
3.6 錶達式求值
3.6.1 錶達式
3.6.2 後綴錶達式求值
3.6.3 中綴錶達式轉換成後綴錶達式
3.7 多重棧與多重隊列
3.8 補充習題

第4章 鏈錶
4.1 單嚮鏈錶
4.2 用C語言錶示單嚮鏈錶
4.3 鏈式棧與鏈式隊列
4.4 多項式
4.4.1 多項式錶示
4.4.2 多項式加法
4.4.3 銷毀多項式
4.4.4 循環鏈錶與多項式
4.4.5 小結
4.5 其它鏈錶操作
4.5.1 單嚮鏈錶操作
4.5.2 循環鏈錶操作
4.6 等價類
4.7 稀疏矩陣
4.7.1 稀疏矩陣錶示
4.7.2 輸入稀疏矩陣
4.7.3 輸齣稀疏矩陣
4.7.4 銷毀稀疏矩陣
4.8 雙嚮鏈錶

第5章 樹
5.1 引論
5.1.1 術語
5.1.2 樹的錶示
5.2 二叉樹
5.2.1 二叉樹的抽象數據類型
5.2.2 二叉樹的性質
5.2.3 二叉樹的錶示
5.3 遍曆二叉樹
5.3.1 中序遍曆
5.3.2 先序遍曆
5.3.3 後序遍曆
5.3.4 非遞歸(循環)中序遍曆
5.3.5 層序遍曆
5.3.6 不設棧遍曆二叉樹
5.4 其它二叉樹操作
5.4.1 復製二叉樹
5.4.2 判斷兩個二叉樹全等
5.4.3 可滿足性問題
5.5 綫索二叉樹
5.5.1 綫索
5.5.2 中序遍曆綫索二叉樹
5.5.3 綫索二叉樹插入結點
5.6 堆
5.6.1 優先級隊列
5.6.2 大根堆定義
5.6.3 大根堆插入操作
5.6.4 大根堆刪除操作
5.7 二叉查找樹
5.7.1 定義
5.7.2 二叉查找樹的查找
5.7.3 二叉查找樹的插入
5.7.4 二叉查找樹的刪除
5.7.5 二叉查找樹的閤並與分裂
5.7.6 二叉查找樹的高度
5.8 選拔樹
5.8.1 引子
5.8.2 優勝樹
5.8.3 淘汰樹
5.9 森林
5.9.1 森林轉換為二叉樹
5.9.2 遍曆森林
5.10 不相交集閤的錶示
5.10.1 引子
5.10.2 閤並與查找操作
5.10.3 劃分等價類
5.11 二叉樹的計數
5.11.1 不同態二叉樹
5.11.2 棧置換
5.11.3 矩陣乘法
5.11.4 不同二叉樹的數目
5.12 參考文獻和選讀材料

第6章 圖
6.1 圖的抽象數據類型
6.1.1 引子
6.1.2 圖的定義和術語
6.1.3 圖的錶示
6.2 圖的基本操作
6.2.1 深度優先搜索
6.2.2 廣度優先搜索
6.2.3 連通分量
6.2.4 生成樹
6.2.5 重連通分量
6.3 最小代價生成樹
6.3.1 Kruskal算法
6.3.2 Prim算法
6.3.3 SoUin算法
6.4 最短路徑和遷移閉包
6.4.1 單源點至所有其它節點:邊權值非負
6.4.2 單源點至所有其它節點:邊權值正負無限製
……
第7章 排序
第8章 Hash法
第9章 優先級隊列
第10章 高效二叉查找樹
第11章 多路查找樹
第12章 數字查找結構
索引

精彩書摘

  第1章 基本概念
  1.1 概觀:係統生命周期
  本書讀者應具備紮實的結構化程序設計技能。要獲得這些技能,讀者通常應學過程序設計基礎一類課程。這類課程的培養目標就是傳授結構化程序設計技能,但課程強調的是語言本身的語法形式與語句使用規則,學生在這個階段通常隻能編寫很簡單的程序,解決的問題不用說也是很簡單的。這類簡單問題,一般而言,隻要直接選用程序設計語言提供的某語句也許就能完成求解,例如,用數組存儲數據,再利用while循環語句,可能就足以解決這一階段的許多問題瞭。
  本書要指導讀者嚮前邁一大步,大幅度提高編程能力,因為以後編寫的程序,其規模要大很多,功能也要復雜得多。不用說,編寫規模龐大而復雜的程序,不但需要更強有力的工具,還一定需要更高級的編程技術。我們希望在隨後的學習過程,讀者應紮實掌握數據的抽象思維方法,同時必須熟練掌握算法的規範聲明、算法的性能分析、算法的性能評價等諸多技能。設置本章的目的就是要詳細論述這些內容。此外,遞歸程序設計方法同樣至關重要,讀者也必須熟練掌握,因此也是本章討論的內容,但論述得較為簡明而且篇幅不很大。我們提請讀者注意,如果讀者以前對遞歸程序設計基礎未給予足夠重視,瞭解流於膚淺,那麼必須仔細研讀這方麵內容,以後一定會深感大有益處。然而,在討論各種工具與各項技術之前,我們必須強凋,編程可不僅僅是寫程序代碼,即寫完一條條程序語句就萬事大吉瞭。與之截然相反,優秀的程序員有完全不同的觀點。程序設計的首要問題,應該是首先把大規模程序係統分解成許許多多自成體係且相對獨立的組成部件,然後再為各部分之間存在的相互調用,定義嚴格的調用格式。
  ……

前言/序言

  《數據結構基礎》是一本優秀的數據結構教材,取材全麵,難易適中,內容組織閤理,詳略得當,深入淺齣,而且論證邏輯性強,所以廣為國內外高校計算機專業選用。此外,這本英文教材對國內許多數據結構教材的編寫也有顯著影響。此中譯本是《數據結構基礎》c語言版第2版的譯本,與第1版相比,新版篇幅擴張很大,內容全麵更新,全書覆蓋①綫性(序)數據類型、②樹型數據類型、③網狀數據類型,以及④排序算法與⑤查找算法。基本數據結構包括綫性錶(數組與鏈錶)、棧與隊列、樹、圖等經典內容,特點為運用抽象數據類型(ADT)觀點一一呈現。另外,書中包含大量符閤ANSIC標準的程序,實例豐富,習題眾多,並有大量圖錶。《數據結構基礎(C語言版)第2版》最鮮明的特點是:用幾乎一半篇幅,即第8~12章,詳細討論瞭各種查找錶結構及其查找算法,而且內容組織很新穎。這最後5章既包括查找法的經典內容,如Hash法和AVL樹等;也包括數據結構研究的新進展,如分攤復雜度分析等;還包括當前數據結構研究的熱點,即各種堆結構。這部分內容特彆適閤數據結構提高課程,也特彆適閤學過基本數據結構的讀者自學提高。以下列齣《數據結構基礎(C語言版)第2版》有關查找的內容及其編排體係。


深入探索數據結構的核心原理與C語言實現 本書是一本經典的數據結構教材,專為希望深入理解計算科學基石的學生和開發者量身打造。它係統地闡述瞭各種基本數據結構的概念、理論以及在C語言中的實際應用。本書旨在幫助讀者建立紮實的數據結構基礎,從而能夠設計、分析和實現高效的算法,為解決復雜的計算問題奠定堅實的基礎。 核心內容概述: 本書從最基礎的綫性結構開始,逐步深入到非綫性結構,並詳細講解瞭相關算法的設計與分析。 數組與字符串: 學習數組作為基本存儲單元的應用,包括一維、多維數組的錶示與操作。深入理解字符串的存儲方式、常用操作(如查找、插入、刪除)及其效率考量。 棧與隊列: 掌握棧(LIFO)和隊列(FIFO)這兩種抽象數據類型(ADT)的定義、實現方法(基於數組或鏈錶)以及在不同場景下的應用,例如錶達式求值、函數調用棧管理、任務調度等。 鏈錶: 詳細介紹單鏈錶、雙鏈錶和循環鏈錶的結構與操作。理解鏈錶相對於數組在動態增長和元素插入刪除方麵的優勢,以及相關的遍曆、查找、插入、刪除等算法。 樹: 深入學習各種樹形結構,包括: 二叉樹: 掌握二叉樹的定義、遍曆方式(前序、中序、後序),以及二叉搜索樹(BST)的性質、查找、插入、刪除操作,並分析其性能。 平衡二叉樹: 介紹 AVL 樹和紅黑樹等平衡樹的概念,理解它們如何通過鏇轉等操作來維持樹的平衡,從而保證查找、插入、刪除操作的對數時間復雜度。 堆: 學習堆(最大堆和最小堆)的定義、性質以及在堆排序、優先隊列等方麵的應用。 圖: 學習圖的定義、錶示方法(鄰接矩陣和鄰接錶),以及圖的遍曆算法(深度優先搜索 DFS 和廣度優先搜索 BFS)。深入理解圖的重要算法,如: 最短路徑算法: 學習 Dijkstra 算法和 Floyd-Warshall 算法,用於求解單源最短路徑和所有頂點對最短路徑。 最小生成樹算法: 掌握 Prim 算法和 Kruskal 算法,用於構建加權無嚮圖的最小生成樹。 哈希錶: 理解哈希函數的概念、衝突解決方法(如鏈地址法和開放地址法),以及哈希錶在快速查找、插入和刪除方麵的巨大優勢。 排序算法: 係統學習各種經典的排序算法,包括: 簡單排序: 冒泡排序、選擇排序、插入排序。 高效排序: 快速排序、歸並排序。 特定排序: 堆排序。 對各種排序算法的時間復雜度和空間復雜度進行詳細分析和比較。 搜索算法: 除瞭前麵提到的樹和哈希錶的搜索,還包括綫性查找和二分查找等基本搜索算法的原理和實現。 學習方法與特色: 本書最大的特色在於其嚴謹的理論講解與豐富的C語言實踐相結閤。 清晰的理論闡述: 每個數據結構和算法的引入都伴隨著清晰的數學定義、概念解釋和僞代碼描述,幫助讀者理解其內在邏輯。 精煉的C語言實現: 所有數據結構和算法都提供瞭直接可運行的C語言代碼示例,這些代碼簡潔、規範,易於理解和修改。讀者可以通過閱讀和動手實踐,將理論知識轉化為實際編程能力。 詳盡的算法分析: 本書不僅介紹瞭算法,還對它們的效率進行瞭深入的分析,包括時間復雜度和空間復雜度。這有助於讀者理解不同算法的優劣,並能在實際應用中做齣最佳選擇。 豐富的例題與習題: 每章都配有精心設計的例題,演示瞭數據結構和算法的應用場景;大量的課後習題則鼓勵讀者鞏固所學知識,提升解決問題的能力。 適用人群: 計算機科學與技術、軟件工程等相關專業的本科生和研究生: 作為核心課程的配套教材,能夠幫助學生紮實掌握數據結構與算法的理論與實踐。 希望係統學習數據結構與算法的軟件開發者: 無論您是初學者還是有一定經驗的開發者,本書都能為您提供全麵深入的學習資源,提升您的編程技能和解決復雜問題的能力。 準備參加算法競賽或技術麵試的人員: 本書是準備各類算法競賽和技術麵試的寶貴參考資料。 通過學習本書,您將能夠理解數據結構在計算機科學中的關鍵作用,掌握各種核心數據結構和算法的設計思想與實現技巧,從而在未來的學習和工作中構建更強大、更高效的軟件係統。

用戶評價

評分

我是一個比較注重實踐的學習者,所以對書中提供的習題和課後練習相當看重。這本書的習題設計得很有梯度,從最簡單的概念鞏固,到需要綜閤運用多個知識點的復雜問題,應有盡有。我嘗試做瞭一些,發現它們能很好地檢驗我對知識的掌握程度,同時也暴露瞭我一些理解上的盲區。有些習題的答案在書的後麵有提供,這對於我自我檢查非常有幫助。

評分

這本書我拿到手已經有一段時間瞭,我一直斷斷續續地在看,想給它一個全麵且客觀的評價,但又覺得好像還有很多細節值得深入挖掘。首先,這本書的齣版質量相當不錯,紙張厚實,印刷清晰,拿在手裏有分量感,不是那種輕飄飄的感覺。封麵設計也比較簡潔大氣,沒有過多花哨的圖案,直接點明瞭主題,讓人一眼就能看齣這是一本嚴肅的學術著作。我尤其喜歡它所采用的C語言作為實現語言,這對於很多計算機專業的學生來說,是最熟悉不過的編程語言瞭,上手也更加容易。

評分

這本書的作者在數據結構領域無疑是專傢,他們的知識體係非常紮實,對概念的理解也非常深刻。從他們的筆觸中,我能感受到作者深厚的學術功底和豐富的教學經驗。他們能夠用一種比較係統化的方式來呈現數據結構這個龐大的知識體係,並且將C語言的特性很好地融入到講解和實現中,這使得這本書在同類教材中獨具特色。

評分

老實說,這本書的語言風格比較學術化,有些地方的錶述比較嚴謹,甚至有些“咬文嚼字”。這使得它在可讀性方麵,可能不如一些更偏嚮通俗易懂的科普讀物。不過,對於一本嚴謹的計算機科學教材來說,這種風格也是可以理解的,畢竟它需要精確地傳遞知識,避免産生歧義。我個人認為,如果能加入一些更貼近實際應用場景的案例分析,可能會讓學習過程更有趣一些。

評分

我對這本書的另一印象深刻的地方是它對算法復雜度的分析。書中對各種數據結構和算法的時間復雜度和空間復雜度都有非常詳細的分析和討論,並且給齣瞭清晰的圖錶和公式推導。這對於我理解算法的效率以及在實際應用中如何選擇最優算法至關重要。雖然有時覺得分析過程有點枯燥,但這種嚴謹的科學態度正是這本教材所傳達的核心價值。

評分

這本書的排版和章節組織結構是我非常欣賞的一點。每一章都從一個基本概念講起,然後逐步深入,層層遞進。每講完一個數據結構或算法,都會有相應的C語言代碼示例,並且這些代碼都寫得相當規範,注釋也很詳細,這一點對於我這種喜歡通過代碼來理解抽象概念的人來說,簡直是福音。很多時候,我會在閱讀理論部分的時候,同步對照著代碼去理解,這樣一來,整個學習過程就變得更加生動和有條理。

評分

我發現這本書的一個潛在的“缺點”,或者說是一種提醒吧,就是它更適閤那些已經有一定C語言基礎的學習者。如果你是完全的編程新手,可能在理解書中的C語言代碼部分會有些睏難。雖然書中沒有明確要求,但我覺得在閱讀前,對C語言的基礎語法和一些核心概念有所瞭解,會大大提升學習效率。否則,你可能需要在同時閱讀另一本C語言教材。

評分

我對這本書的整體評價是,它是一本非常紮實、內容全麵、體係嚴謹的計算機數據結構教材。它可能不是最容易入門的,但絕對是一本能夠讓你深入理解數據結構核心概念的優秀讀物。對於那些想要打下堅實計算機基礎,尤其是從事相關算法開發和研究的學生或開發者來說,這本書絕對是值得擁有的。

評分

說實話,這本書的厚度讓我當時有點小小的畏懼,但當我真正沉浸其中開始閱讀時,我發現內容是那樣充實,每一頁都承載著作者的智慧和對知識的耐心講解。雖然有時候需要停下來,反復推敲某個算法的證明過程,或者對著代碼進行調試,但這正是我所期望的深度學習體驗。這本書就像一位經驗豐富的導師,循循善誘,引導我一步步走近數據結構的奧秘。

評分

我承認,我一開始被這本書的“精選”和“著名”這兩個詞吸引瞭,總覺得能被選入“世界著名計算機教材精選”係列,質量肯定差不瞭。拿到手後,翻看目錄,確實涵蓋瞭數據結構中幾乎所有核心內容,從最基礎的數組、鏈錶、棧、隊列,到更復雜的樹、圖、排序和查找算法,內容非常全麵。雖然我是帶著期待去看的,但實際閱讀過程中,還是有一些地方讓我感到有些吃力。尤其是一些算法的證明和推導,雖然嚴謹,但對於初學者來說,可能需要反復琢磨纔能完全理解。

評分

溫習一下C語言以及數據結構,發貨速度很快,而且質量很好。

評分

深度優先搜L索

評分

本書M要指導讀者嚮前M邁一大步,大幅度提高編程能力,因為以後編寫的程序,其規模要大很多,功N能也要復雜得多。不用說N,編寫規模龐大而復雜的程O序,不但需要更強有力的工具,還一定需要更高級的編程技術。我們希望在隨後的學習過程,讀者應紮實掌握數據的抽象思維方法,同時必須熟練掌握算法的規範聲明、算法的性能分析、算法的性能評價等諸多技Q能。設置本章的目的就是要詳細論述這些內容。此外,遞歸程序設計方法同樣至關重要,讀者也必須熟練掌握,因此也是本章討論的內容S,但論述得較S為簡明而且篇幅不很大。我們提請讀者注意T,如果讀者以前對遞歸程序T設計基礎未給予足夠重視,瞭解流於膚淺,那麼必須仔細研讀這方麵內容,以後一定會深V感大有益處。然而,在討論各種工具與各項技V術之前,我們必須強凋,編程W可不僅僅是寫程序代碼,即寫完一條條程序語句就萬事大吉瞭。與之截然X相反,優秀的程序員有完全不同的觀點。程序設計的首要問題,應該是首先把大規模程Y序係統分解成許許多多自成體係且相對獨立的組成部件,然後Z再為各部分之間Z存在的相互調用,定義嚴格的調用格式。

評分

本書很好的講解瞭數據結構中的基本內容,由淺入深,在此希望廣大程序員們學好數學很重要!

評分

定時

評分

5.3.5

評分

快遞很給力嗎,。。。。。

評分

不錯,但是好像書有點受潮,

評分

快遞速度很快,內容很不錯

相關圖書

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有