書名:清華大學計算機係列教材:數據結構(用麵嚮對象方法與C++語言描述)(第2版)
:46.00元
作者:殷人昆
齣版社:清華大學齣版社
齣版日期:2007-06-01
ISBN:9787302148111
字數:
頁碼:512
版次:2
裝幀:平裝
開本:16開
商品重量:0.781kg
編輯推薦
內容提要
數據結構是計算機專業的核心課程,是從事計算機軟件開發和應用人員必備的專業基礎。隨著計算機的日益普及,“數據結構”課程也在不斷地發展。
《清華大學計算機係列教材:數據結構(用麵嚮對象方法與C++語言描述)(第2版)》按照清華大學計算機係本科“數據結構”大綱的要求,從麵嚮對象的概念、對象類設計的風格和數據結構的層次開始,從綫性結構到非綫性結構,從簡單到復雜,深入地討論瞭各種數據結構內在的邏輯關係及其在計算機中的實現方式和使用。此外,對常用的迭代、遞歸、迴溯等算法設計技巧'搜索和排序算法等都做瞭詳盡的描述,並引入瞭簡單的算法分析。
全書采用麵嚮對象的觀點討論數據結構技術,並以兼有麵嚮過程和麵嚮對象雙重特色的C++語言作為算法的描述工具,強化基本知識和基本能力的雙基訓練。全書條理清晰,通俗易懂,圖文並茂,適於自學。
與《清華大學計算機係列教材:數據結構(用麵嚮對象方法與C++語言描述)(第2版)》配套的《數據結構習題解析一用麵嚮對象方法與C++語言描述》一書已經由清華大學齣版社齣版。《清華大學計算機係列教材:數據結構(用麵嚮對象方法與C++語言描述)(第2版)》適閤大專院校計算機、軟件專業本科生使用,也可作為教師和有關科研人員的參考書。
目錄
第1章 數據結構概論
1.1 數據結構的概念
1.1.1 數據結構舉例
1.1.2 數據與數據結構
1.1.3 數據結構的分類
1.1.4 數據結構課程的內容
1.2 數據結構的抽象形式
1.2.1 數據類型
1.2.2 數據抽象與抽象數據類型
1.3 作為ADT的C++類
1.3.1 麵嚮對象的概念
1.3.2 C++中的類
1.3.3 C++中的對象
1.3.4 C++的輸入輸齣
1.3.5 C++中的函數
1.3.6 動態存儲分配
1.3.7 C++中的繼承
1.3.8 多態性
1.3.9 C++的模闆
1.4 算法定義
1.5 算法性能分析與度量
1.5.1 算法的性能標準
1.5.2 算法的後期測試
1.5.3 算法的事前估計
1.5.4 算法的漸進分析
1.5.5 壞、好和平均情況
習題
第2章 綫性錶
2.1 綫性錶
2.1.1 綫性錶的概念
2.1.2 綫性錶的類定義
2.2 順序錶
2.2.1 順序錶的定義和特點
2.2.2 順序錶的類定義及其操作
2.2.3 順序錶的性能分析
2.2.4 順序錶的應用
2.3 單鏈錶
2.3.1 單鏈錶的概念
2.3.2 單鏈錶的類定義
2.3.3 單鏈錶中的插入與刪除
2.3.4 帶附加頭結點的單鏈錶
2.3.5 單鏈錶的模闆類
2.4 綫性鏈錶的其他變形
2.4.1 循環鏈錶
2.4.2 雙嚮鏈錶
2.5 單鏈錶的應用:多項式及其運算
2.5.1 多項式的錶示
2.5.2 多項式的類定義
2.5.3 多項式的加法
2.5.4 多項式的乘法
2.6 靜態鏈錶
習題
第3章 棧和隊列
3.1 棧
3.1.1 棧的定義
3.1.2 順序棧
3.1.3 鏈式棧
3.1.4 棧的應用之一——括號匹配
3.1.5 棧的應用之二——錶達式的計算
3.2 棧與遞歸
3.2.1 遞歸的概念
3.2.2 遞歸過程與遞歸工作棧
3.2.3 用迴溯法求解迷宮問題
3.3 隊列
3.3.1 隊列的概念
3.3.2 循環隊列
3.3.3 鏈式隊列
3.3.4 隊列應用舉例:打印二項展開式(a+b)i的係數
3.3.5 隊列應用舉例:電路布綫
3.4 優先級隊列
3.4.1 優先級隊列的概念
3.4.2 優先級隊列的存儲錶示和實現
……
第4章 數組、串與廣義錶
第5章 樹
第6章 集閤與字典
第7章 搜索結構
第8章 圖
第9章 排序
第10章 文件、外部排序與搜索
附錄A 程序索引
附錄B 詞匯索引
參考文獻
作者介紹
文摘
序言
第1章 數據結構概論
1.1 數據結構的概念
1.1.1 數據結構舉例
1.1.2 數據與數據結構
1.1.3 數據結構的分類
1.1.4 數據結構課程的內容
1.2 數據結構的抽象形式
1.2.1 數據類型
1.2.2 數據抽象與抽象數據類型
1.3 作為ADT的C++類
1.3.1 麵嚮對象的概念
1.3.2 C++中的類
1.3.3 C++中的對象
1.3.4 C++的輸入輸齣
1.3.5 C++中的函數
1.3.6 動態存儲分配
1.3.7 C++中的繼承
1.3.8 多態性
1.3.9 C++的模闆
1.4 算法定義
1.5 算法性能分析與度量
1.5.1 算法的性能標準
1.5.2 算法的後期測試
1.5.3 算法的事前估計
1.5.4 算法的漸進分析
1.5.5 壞、好和平均情況
習題
第2章 綫性錶
2.1 綫性錶
2.1.1 綫性錶的概念
2.1.2 綫性錶的類定義
2.2 順序錶
2.2.1 順序錶的定義和特點
2.2.2 順序錶的類定義及其操作
2.2.3 順序錶的性能分析
2.2.4 順序錶的應用
2.3 單鏈錶
2.3.1 單鏈錶的概念
2.3.2 單鏈錶的類定義
2.3.3 單鏈錶中的插入與刪除
2.3.4 帶附加頭結點的單鏈錶
2.3.5 單鏈錶的模闆類
2.4 綫性鏈錶的其他變形
2.4.1 循環鏈錶
2.4.2 雙嚮鏈錶
2.5 單鏈錶的應用:多項式及其運算
2.5.1 多項式的錶示
2.5.2 多項式的類定義
2.5.3 多項式的加法
2.5.4 多項式的乘法
2.6 靜態鏈錶
習題
第3章 棧和隊列
3.1 棧
3.1.1 棧的定義
3.1.2 順序棧
3.1.3 鏈式棧
3.1.4 棧的應用之一——括號匹配
3.1.5 棧的應用之二——錶達式的計算
3.2 棧與遞歸
3.2.1 遞歸的概念
3.2.2 遞歸過程與遞歸工作棧
3.2.3 用迴溯法求解迷宮問題
3.3 隊列
3.3.1 隊列的概念
3.3.2 循環隊列
3.3.3 鏈式隊列
3.3.4 隊列應用舉例:打印二項展開式(a+b)i的係數
3.3.5 隊列應用舉例:電路布綫
3.4 優先級隊列
3.4.1 優先級隊列的概念
3.4.2 優先級隊列的存儲錶示和實現
……
第4章 數組、串與廣義錶
第5章 樹
第6章 集閤與字典
第7章 搜索結構
第8章 圖
第9章 排序
第10章 文件、外部排序與搜索
附錄A 程序索引
附錄B 詞匯索引
參考文獻
我在學校裏學習過數據結構,也寫過一些C++的代碼,但總覺得自己的數據結構功底不夠紮實,尤其是在麵試和實際工作中,經常會遇到一些關於數據結構設計和優化的麵試題。這本書的標題“數據結構(用麵嚮對象方法與C++語言描述)”正好是我急需的。我希望這本書能夠幫我鞏固對經典數據結構的理解,比如各種樹(二叉樹、平衡樹、B樹等)、圖的遍曆和搜索算法,以及哈希錶等。更重要的是,我期待它能教會我如何運用麵嚮對象的設計思想,結閤C++的特性,來編寫齣更符閤工程實踐的數據結構代碼。我希望書中能夠有詳細的章節講解如何設計和實現可復用、易擴展的數據結構類庫,比如如何利用模闆實現泛型數據結構,如何利用繼承和多態來處理不同數據類型的存儲和操作。我特彆關注書中對於算法復雜度分析的內容,希望能夠看到結閤麵嚮對象實現的復雜度分析,以及如何通過麵嚮對象的設計來優化算法的性能。我擔心的是,如果這本書的講解過於理論化,或者代碼示例不夠清晰,可能無法幫助我真正提升解決實際問題的能力。
評分我是一位正在準備考研的學生,目標院校的數據結構考試大綱裏明確提到瞭“麵嚮對象方法”的要求,這讓我不得不重新審視我之前學習的數據結構知識。我之前學習的可能更多是偏嚮於過程式的方法,雖然也理解瞭基本的數據結構原理,但在麵嚮對象的思想上確實存在短闆。這本書的齣現,簡直像及時雨。我期待它能幫助我建立起一套完整的麵嚮對象的思維模式,並將這種思維模式應用到數據結構的設計和實現中。我希望書中能夠深入剖析如何利用C++的特性,比如類、模闆、繼承、多態等,來優雅地實現各種數據結構,並且能夠清晰地闡述為什麼這種麵嚮對象的實現方式比傳統的過程式方法更具優勢,例如更高的可維護性、可復用性和可擴展性。尤其是在講解一些復雜的算法時,我希望作者能通過麵嚮對象的視角,將問題分解成一個個相互協作的對象,從而簡化問題的復雜性。我擔心的是,如果這本書的麵嚮對象講解不夠深入,或者 C++ 的應用不夠貼閤數據結構的需求,那麼它對我考研的幫助可能就會有限。我希望能找到一本真正能提升我麵嚮對象數據結構能力的寶典。
評分我是一個對計算機科學理論非常著迷的學習者,一直對數據結構背後的精妙算法和設計思想感到好奇。雖然我目前接觸到的編程語言不一定是C++,但我對不同編程範式在解決問題上的優劣非常感興趣。這本書以麵嚮對象的方法描述數據結構,這對我來說是一個全新的視角。我希望它能讓我理解,為什麼麵嚮對象這種思想,在數據結構的抽象和實現上能夠帶來如此顯著的提升。我期待書中能深入探討麵嚮對象設計原則(如SOLID原則)在數據結構設計中的體現,以及如何通過C++的特性,如類、對象、接口、抽象基類等,來具體實現這些原則。我希望能夠看到,作者是如何將抽象數據類型(ADT)的概念,通過麵嚮對象的方式,清晰地映射到具體的C++類和對象上的。我更希望的是,這本書能夠教會我一種“思考”數據結構的方式,一種用對象和交互來理解和構建復雜係統的能力,而不僅僅是學習一些算法的實現。我擔心的是,如果書中過於強調C++的語法細節,而忽略瞭麵嚮對象思想的本質,那麼這本書的價值對我來說就會大打.
評分我對C++語言本身有濃厚的興趣,也已經掌握瞭C++的基礎語法和一些高級特性,但我總覺得在實際的項目開發中,對數據結構的運用還不夠得心應手。我希望這本書能夠將C++的強大功能與經典的數據結構理論完美結閤,提供一些更貼近實際開發場景的例子。我期待書中不僅能介紹各種數據結構的基本概念和算法,更能展示如何利用C++的麵嚮對象特性,如封裝、繼承、多態、模闆等,來設計齣高效、健壯、易於維護的數據結構。例如,我希望看到如何利用模闆來編寫通用的數據結構,如何利用繼承和多態來處理不同類型的數據,以及如何通過封裝來隱藏實現的細節,提高代碼的可讀性和安全性。我希望書中能有一些關於如何選擇閤適的數據結構來解決實際問題的指導,而不是僅僅停留在理論層麵。如果書中能夠提供一些實際的工程案例,哪怕是簡化的,那對我來說將是極大的幫助。我擔心的是,這本書會不會過於側重理論,而缺乏實際的應用指導,那樣的話,我可能會在讀完之後,依然不知道如何在實際開發中靈活運用這些知識。
評分初次接觸數據結構,尤其還是用麵嚮對象的方法和C++來描述,說實話,心裏沒底。我之前學的C語言基礎還算紮實,但麵嚮對象這個概念對我來說就像一層窗戶紙,總感覺隔著點什麼。這本書的標題“麵嚮對象方法與C++語言描述”直接戳中瞭我的痛點,也讓我看到瞭希望。翻開目錄,看到那些熟悉又陌生的名詞,比如類、對象、繼承、多態,還有各種經典的數據結構,像鏈錶、棧、隊列、樹、圖等等,心裏既緊張又充滿期待。書中的例子是不是足夠生動形象?會不會有很多理論性的陳述,讓我看得雲裏霧裏?我最希望的是,它能循序漸進,從最基礎的概念講起,用C++的代碼實例來驗證和解釋每一個抽象的概念,讓我能夠真正理解麵嚮對象思想在數據結構設計中的應用。特彆是那些涉及到抽象數據類型(ADT)的章節,我希望作者能清晰地展示如何通過麵嚮對象的封裝和抽象來定義和實現這些ADT,而不是簡單地給齣代碼。畢竟,理解“為什麼”比“怎麼做”更重要。我擔心的是,如果理論講解過於晦澀,或者代碼示例不夠貼切,我可能會在半途而廢,這對於我這樣一個需要係統學習數據結構的人來說,將是很大的打擊。所以,我特彆看重這本書的講解方式和案例的有效性。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有