基本信息
書名:數據結構與算法
作者:張銘, 王騰蛟, 趙海燕,
齣版社:高等教育齣版社
齣版日期:2008-06-01
ISBN:9787040239614
字數:
頁碼:381
版次:1
裝幀:平裝
開本:16
商品重量:0.599kg
編輯推薦
《數據結構與算法》:係統介紹各種基本數據結構的概念、原理和操作方法,並從算法的角度討論排序和檢索算法。
以問題求解為主綫,從問題抽象、數據抽象和算法抽象的角度組織數據結構與算法的設計。
注重將理論內容結閤應用背景,加強上機動手實踐能力訓練,著重培養學生的抽象思維能力與問題建模能力,使其學會如何根據實際問題對數據結構和算法進行取捨,在時間復雜度和空間復雜度之間進行平衡。
提供PPT電子教案、網絡課程、立體化教學網站等教學資源,與《數據結構與算法》配套的實習課教材《數據結構與算法實驗教程》將於2009年齣版。
依據教育部高等學校計算機科學與技術教學指導委員會編製的高等學校計算機科學與技術專業規範和IEEE/ACM製訂的CC2001-CC2005有關教程編寫。
內容提要
《數據結構與算法》是普通高等教育“十一五”規劃教材,也是北京市精品課程主講教材。《數據結構與算法》按照IEEE/ACM CC20025和教育部教指委關於“計算機科學與技術專業規範”(CCC2005)的要求編寫,力求使學生較全麵地理解數據結構的概念、掌握各種數據結構與算法的實現方式,同時比較不同數據結構和算法的特點,重點強調實踐教學和學生動手能力的培養。
《數據結構與算法》的內容涉及基本數據結構、排序、索引、檢索、高級數據結構等內容,藉助抽象數據類型,從邏輯結構的角度係統介紹綫性錶、字符串、二叉樹、樹和圖等各種基本數據結構;從算法的角度係統地介紹各類排序、檢索和索引算法;從應用的角度介紹一些更復雜的數據結構與算法分析技術。《數據結構與算法》采用能夠更自然體現抽象數據類型概念的C++語言作為算法描述語言,注意對每一種數據結構的不同存儲方法及相關算法進行比較分析。很多算法使用瞭參數化的模闆,從而提高瞭算法中數據類型的通用性,支持高效的代碼重用。
《數據結構與算法》概念清楚,邏輯性強,內容新穎,可作為普通高校計算機科學與技術專業學生的教材和參考書,也可作為參加計算機科學與技術學科碩士/ 博士生、軟件工程碩士生入學考試的考試參考書,還可供計算機應用技術和電子學等理科專業的學生參考。
目錄
第1章 概論
1.1 問題求解
1.1.1 問題描述:股市的傳言
1.1.2 問題分析和抽象
1.1.3 數據結構和算法設計
1.2 數據結構
1.2.1 數據的邏輯結構
1.2.2 數據的存儲結構
1.2.3 抽象數據類型
1.3 算法
1.3.1 算法的概念
1.3.2 算法設計
1.4 算法分析
1.4.1 漸進分析方法
1.4.2 、差和平均情況
1.4.3 時間和空間的摺衷
1.4.4 求解問題時數據結構的選擇和評價
本章小結
習題
上機題
第2章 綫性錶
2.1 綫性錶的概念
2.1.1 綫性錶的抽象數據類型
2.1.2 綫性錶的存儲結構
2.1.3 綫性錶運算分類
2.2 順序錶
2.2.1 順序錶的類定義
2.2.2 順序錶的運算實現
2.3 鏈錶
2.3.1 單鏈錶
2.3.2 雙鏈錶
2.3.3 循環鏈錶
2.4 綫性錶實現方法的比較
本章小結
習題
上機題
第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 限製存取點的錶
本章小結
習題
上機題
第4章 字符串
4.1 字符串的基本概念
4.1.1 字符編碼
4.1.2 字符的編碼順序
4.1.3 字符串抽象數據類型
4.2 字符串的存儲結構和實現
4.2.1 字符串的順序存儲
4.2.2 字符串類Class String的存儲結構
4.2.3 字符串運算的實現
4.3 字符串的模式匹配
4.3.1 樸素的模式匹配算法
4.3.2 字符串的特徵嚮量
4.3.3 KMP模式匹配算法
本章小結
習題
上機題
第5章 二叉樹
5.1 二叉樹的概念
5.1.1 二叉樹的定義和基本術語
5.1.2 滿二叉樹、完全二叉樹、擴充二叉樹
5.1.3 二叉樹的主要性質
5.2 二叉樹的周遊
5.2.1 二叉樹的抽象數據類型
5.2.2 深度優先周遊二叉樹
5.2.3 廣度優先周遊二叉樹
5.3 二叉樹的存儲結構
5.3.1 二叉樹的鏈式存儲結構
5.3.2 完全二叉樹的順序存儲結構
5.4 二叉搜索樹
5.5 堆與優先隊列
5.5.1 堆的定義及其實現
5.5.2 優先隊列
5.6 Huffman樹及其應用
5.6.1 Huffman樹
5.6.2 Huffman編碼
本章小結
習題
上機題
第6章 樹
6.1 樹的定義和基本術語
6.1.1 樹和森林
6.1.2 森林與二叉樹的等價轉換
6.1.3 樹的抽象數據類型
6.1.4 樹的周遊
6.2 樹的鏈式存儲結構
6.2.1 “子結點錶”錶示方法
6.2.2 靜態“左子/右兄”錶示法
6.2.3 動態錶示法
6.2.4 動態“左子/右兄”二叉鏈錶錶示法
6.2.5 父指針錶示法和在並查集中的應用
6.3 樹的順序存儲結構
6.3.1 帶右鏈的先根次序錶示
6.3.2 帶雙標記的先根次序錶示
6.3.3 帶度數的後根次序錶示
6.3.4 帶雙標記的層次次序錶示
6.4 K叉樹
本章小結
習題
上機題
第7章 圖
7.1 圖的定義和基本術語
7.2 圖的抽象數據類型
7.3 圖的存儲結構
……
第8章 內排序
第9章 文件管理和外排序
第10章 檢索
第11章 索引技術
第12章 高級數據結構
參考文獻
作者介紹
文摘
版權頁:
插圖:
在信息技術日益滲透到各行各業的今天,計算機已成為解決各類實際問題的主要工具。利用計算機來解決各種實際問題不可避免地涉及眾多的知識和學科,而計算機學科便是其中的核心學科。
作為計算機學科一個重要的分支,數據結構與算法的研究涉及構築計算機求解問題過程的兩大基石:刻畫實際問題中信息及其關係的數據結構和描述問題解決方案的邏輯抽象的算法。數據結構與算法呈相互依賴的關係,隻有恰當地確立瞭問題的結構,纔能選擇和設計閤適的解決方法。可以說,數據結構與算法的相關知識是有效使用計算機的基本前提。所有計算機係統軟件和應用軟件都要用到各種類型的數據結構以及一些典型的算法設計和分析技巧。在諸如圖形、數據庫、數值分析等專門領域中,解決問題的能力依賴於其中的算法與數據結構的進展。“數據結構與算法”課程是“算法分析與設計”、“操作係統”、“軟件工程”、“數據庫概論”、“編譯技術”、“計算機圖形學”、“人機交互”等專業基礎課和專業課程的先修課程。
本章由一個實例開始闡述從問題求解到程序設計的過程,並概述其中涉及的基本概念。在闡述數據結構和算法的同時,揭示數據結構與算法之間的密切關係。
1.1問題求解
學習過計算引論的人大多都聽說過Niklaus wirth的著名公式“程序=數據結構+算法”。該公式在闡明算法、數據結構與程序設計的重要性的同時,也從一個方麵闡述瞭數據結構與算法的密切關係。
何謂程序,算法以及數據結構又是什麼?作為計算機科學的核心課程,“數據結構與算法”正是為瞭解答這些問題而設立的。簡單來講,程序是計算機“指令”的某種組閤,用來控製計算機的工作流程,完成一定的邏輯功能,從而實現某種任務。算法是程序的邏輯抽象,是解決某類客觀問題的過程。數據結構是現實世界的數據及其間關係的反映,可以從邏輯結構和物理結構兩個層麵去刻畫:客觀事物自身所具有的結構特點稱為邏輯結構,例如傢族譜係即為一個天然的樹形邏輯結構;而邏輯結構在計算機中的具體實現則稱為物理結構,例如用於錶示樹形邏輯結構的指針或數組。
序言
我是一名計算機科學專業的學生,為瞭應對即將到來的期末考試和未來的學習,我迫切需要一本能夠全麵、係統地講解數據結構與算法的書籍。這本書的齣現,簡直是雪中送炭。我之前學過一些零散的知識點,但總感覺不成體係,缺乏連貫性。而這本書的結構設計非常閤理,從最基本的概念入手,一步步深入到更復雜的算法和數據結構。我尤其喜歡書中關於二叉樹和平衡二叉樹的講解,作者們用非常生動的語言,結閤大量的示意圖,將抽象的樹形結構變得形象具體,讓我能夠輕鬆理解其遍曆方式、插入和刪除操作。而且,書中還對各種平衡二叉樹,比如AVL樹、紅黑樹等,進行瞭詳細的比較和分析,讓我對它們的優缺點以及適用場景有瞭清晰的認識。此外,書中關於堆和優先隊列的講解也讓我非常滿意,這對於我理解各種調度算法、圖算法中的應用有著至關重要的作用。這本書不僅內容豐富,而且語言精煉,條理清晰,是我學習數據結構與算法過程中不可多得的良師益友。
評分作為一名在IT行業摸爬滾打多年的開發者,我深知紮實的數據結構與算法功底對於職業發展的關鍵性。因此,我一直在尋找一本能夠幫助我係統性梳理和提升這方麵知識的書籍。這本《正版 數據結構與算法》恰恰符閤瞭我的要求。我不得不說,這本書的編排邏輯非常齣色,層層遞進,從基礎的綫性錶、棧、隊列,到復雜的樹、圖,再到各種經典算法,都講解得條理清晰,重點突齣。作者們在講解的過程中,不僅僅是羅列概念和實現,更重要的是對每種數據結構和算法的適用場景、時間空間復雜度進行瞭深入的分析,這對於我這種需要實際解決問題的人來說,是極其寶貴的。我特彆喜歡書中關於動態規劃的講解,作者們通過幾個經典的例子,比如背包問題、最長公共子序列等,將動態規劃的“最優子結構”和“重疊子問題”的思考方式闡釋得淋灕盡緻,讓我茅塞頓開。此外,書中對遞歸和分治策略的講解也讓我受益匪淺,它們之間的聯係與區彆,以及在解決實際問題中的應用,都有非常詳細的闡述。這本書不僅僅是一本技術書籍,更像是一位經驗豐富的導師,在我學習的路上給予我寶貴的指導。
評分這本書真是太棒瞭!從拿到手的那一刻起,我就被它紮實的理論基礎和清晰的講解深深吸引。我一直在尋找一本能夠真正深入理解數據結構和算法精髓的書籍,而這本書無疑滿足瞭我的所有期待。作者們用一種非常直觀的方式,將抽象的概念變得生動易懂,即使是初學者也能快速入門。書中大量的圖示和僞代碼,讓我在學習過程中能夠隨時對照,加深理解。特彆是我在學習樹和圖的部分時,那些精心設計的例子,讓我能夠從不同的角度去審視這些復雜的結構,並且能夠靈活運用到實際問題中。而且,本書不僅僅停留在理論層麵,還包含瞭許多實際應用場景的分析,這對於我這種希望將所學知識應用到項目開發中的讀者來說,簡直是雪中送炭。我尤其欣賞的是,書中提供的練習題,難度適中,能夠有效地檢驗我的學習成果,並且還能啓發我進行更深層次的思考。那些題目設計得非常巧妙,讓我能夠溫故知新,鞏固基礎,同時又能接觸到一些更高級的技巧。總而言之,這本書是我在數據結構與算法學習道路上遇到的一個寶藏,我強烈推薦給所有想要提升自身編程能力的朋友們。
評分我最近剛開始接觸編程,對數據結構和算法的概念感到有些茫然。朋友們都推薦我讀這本書,說是非常經典。拿到書後,我果然沒有失望!這本書對我來說,就像是一盞指路明燈,讓我不再迷失在紛繁復雜的概念之中。作者們用瞭非常通俗易懂的語言,加上大量的圖示,把原本枯燥乏味的概念變得生動有趣。我尤其喜歡書中關於數組和鏈錶的對比講解,通過生動的比喻,讓我一下子就理解瞭它們在內存存儲、插入刪除操作上的根本區彆。還有關於排序算法的部分,書中對各種排序算法的時間復雜度、穩定性等進行瞭詳細的對比分析,並且給齣瞭多種實現方式,這讓我能夠從不同的角度去理解和掌握這些算法。最讓我感到驚喜的是,書中還介紹瞭哈希錶的原理和應用,這對於我理解各種字典、映射等數據結構有著重要的幫助。學習這本書的過程中,我感覺自己對計算機底層運作的理解也在不斷加深,這讓我感到非常興奮。我非常有信心,通過這本書的學習,我能夠為我未來的編程之路打下堅實的基礎。
評分這本書的深度和廣度都超乎我的想象,絕對是一部值得反復研讀的佳作。作為一名有一定經驗的工程師,我一直對算法的優化和效率提升非常關注。而這本書在這一點上做得非常齣色。它不僅介紹瞭各種基本數據結構和算法,更深入地探討瞭它們的性能分析和優化技巧。我特彆欣賞書中關於圖算法的講解,像是Dijkstra算法、Floyd-Warshall算法等,作者們不僅給齣瞭清晰的算法描述,還對它們的原理、適用條件以及時間空間復雜度進行瞭嚴謹的推導和分析。這些對於我理解和應用這些算法解決實際的路徑規劃、網絡分析等問題提供瞭堅實的基礎。此外,書中關於字符串匹配算法的介紹,如KMP算法、Boyer-Moore算法等,也都非常詳盡,並且深入剖析瞭它們的核心思想和實現細節,這對於我在文本處理、模式識彆等領域的工作非常有啓發。我甚至覺得,這本書的內容已經遠遠超齣瞭“數據結構與算法”的範疇,它更像是一本關於如何構建高效、可擴展的計算係統的指導手冊。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 windowsfront.com All Rights Reserved. 靜流書站 版權所有