總金額: 會員:NT$ 0 非會員:NT$ 0 
(此金額尚未加上運費)
電子電信技術 電腦技術 計算技術、計算機技術
 
 
 
 
算法與數據結構(C++語言版)
 叢書名稱: 普通高等教育十三五規劃教材/新工科建設之路•計算機類專業規劃教材
 作  者: 馮廣慧/吳昊/文全剛
 出版單位: 電子工業
 出版日期: 2019.01
 進貨日期: 2019/1/1
 ISBN: 9787121350719
 開  本: 16 開    
 定  價: 420
 售  價: 252
  會 員 價: 252
推到Facebook 推到Plurk 推到Twitter
前往新書區 書籍介紹 購物流程  
 
內容簡介:

本書按照“全國碩士研究生招生考試電腦科學與技術學科聯考電腦學科專業基礎綜合考試大綱”的要求編寫,基本涵蓋所有知識點,並加入部分高校及全國統一考試真題作為自測題,同時給出參考答案和題目解析。本書主要介紹各種常用的經典數據結構(如線性表、棧、佇列、串、數組、樹、圖、集合等)和演算法,並在時間複雜度和空間複雜度之間進行平衡與取捨。 本書將C 語言作為數據結構的演算法描述語言,將數據結構與面向對象技術有機結合。書中的演算法講解都有完整的C 代碼實現,並在Visual Studio 2010環境下編譯通過。


作者簡介:

馮廣慧,2004年畢業於吉林大學獲工學學士學位,2007年畢業於吉林大學研究生院獲工學碩士學位,自2007年起一直從事於《演算法與數據結構》課程的一線教學和考研輔導工作,對該課程有深入研究,參編《C語言程式設計教程》、《Access資料庫程式設計真題考點分析與講解》等多部著作。


圖書目錄:

第1章 概論 1 1.1 什麼是數據結構 1 1.2 基本概念和術語 4 1.3 演算法和演算法分析 7 1.3.1 演算法的定義及特性 7 1.3.2 演算法的設計要求 8 1.3.3 演算法效率的衡量方法 9 1.3.4 演算法的時間複雜度 10 1.3.5 演算法的空間複雜度 15 1.4 抽象數據類型 16 習題 18 第2章 線性表 20 2.1 線性表的類型定義 20 2.1.1 線性表的概念 20 2.1.2 線性表的抽象數據類型 21 2.2 線性表的順序表示和實現 22 2.2.1 線性表的順序表示 22 2.2.2 順序表基本運算的實現 23 2.3 線性表的鏈式表示和實現 28 2.3.1 線性表的鏈式表示 29 2.3.2 單鏈表上基本運算的實現 32 2.4 雙鏈表 40 2.5 迴圈鏈表 44 2.6 線性表實現方法的比較 46 2.7 演算法設計舉例 47 習題 52 第3章 棧和佇列 55 3.1 棧 55 3.1.1 棧的類型定義 55 3.1.2 順序棧的表示和實現 57 3.1.3 鏈棧的表示和實現 60 3.2 棧的應用舉例 62 3.2.1 十進位數轉換為其他進制數 62 3.2.2 運算式中括弧的匹配檢查 63 3.2.3 運算式求值 64 3.2.4 利用棧消除遞歸 72 3.3 佇列 77 3.3.1 佇列的類型定義 77 3.3.2 迴圈佇列—佇列的順序表示和 實現 78 3.3.3 鏈佇列—佇列的鏈式表示和 實現 82 3.4 演算法設計舉例 83 習題 87 第4章 串 90 4.1 串的基本概念 90 4.2 串的表示和實現 91 4.2.1 串的順序存儲結構 91 4.2.2 串的鏈式存儲結構 94 4.3 串的模式匹配 95 4.3.1 樸素的模式匹配演算法 95 4.3.2 KMP演算法 96 習題 101 第5章 數組 104 5.1 數組的基本概念 104 5.2 矩陣的壓縮存儲 107 5.2.1 特殊矩陣 107 5.2.2 稀疏矩陣 110 5.3 演算法設計舉例 117 習題 121 第6章 樹和二叉樹 124 6.1 樹的概念 124 6.2 二叉樹的概念和性質 126 6.2.1 二叉樹的概念和抽象數據 類型 126 6.2.2 二叉樹的性質 129 6.3 二叉樹的表示和實現 131 6.3.1 二叉樹的存儲結構 131 6.3.2 二叉樹的遍曆運算 133 6.3.3 二叉樹的其他基本運算 140 6.4 樹和森林 142 6.4.1 樹的存儲結構 143 6.4.2 樹、森林和二叉樹的相互 轉換 146 6.4.3 樹和森林的遍曆運算 148 6.4.4 樹和森林的其他基本運算 151 *6.5 線索二叉樹 154 6.5.1 線索二叉樹的概念 154 6.5.2 線索二叉樹的基本運算 157 6.6 演算法設計舉例 161 習題 162 第7章 樹和二叉樹的應用 166 *7.1 運算式樹 166 7.2 哈夫曼樹和哈夫曼編碼 171 7.2.1 哈夫曼樹 171 7.2.2 哈夫曼編碼 175 7.3 堆和優先順序佇列 178 7.3.1 堆 178 7.3.2 優先順序佇列 179 *7.4 並查集 184 7.5 演算法設計舉例 187 習題 189 第8章 圖 191 8.1 圖的概念 191 8.2 圖的存儲結構 196 8.2.1 鄰接矩陣 196 8.2.2 鄰接表 200 *8.2.3 十字鏈表 205 *8.2.4 鄰接多重表 205 8.3 圖的遍曆 206 8.3.1 深度優先遍曆 207 8.3.2 廣度優先遍曆 209 8.3.3 圖的連通分量和生成樹 212 習題 213 第9章 圖的應用 217 9.1 最小生成樹 217 9.1.1 最小生成樹的概念 217 9.1.2 Prim演算法 218 9.1.3 Kruskal演算法 222 9.2 有向無環圖及其應用 225 9.2.1 拓撲排序 225 9.2.2 關鍵路徑 230 9.3 最短路徑 236 9.3.1 單源點最短路徑 236 9.3.2 每對頂點之間的最短路徑 240 習題 243 第10章 集合與查找 247 10.1 基本概念 247 10.2 靜態查找表上的查找 248 10.2.1 順序查找 248 10.2.2 折半查找 250 10.2.3 分塊查找 254 10.3 動態查找表上的查找 256 10.3.1 二叉查找樹 256 10.3.2 平衡二叉樹 263 *10.3.3 B樹 275 *10.3.4 B 樹 280 *10.3.5 字典樹 281 10.4 演算法設計舉例 282 習題 285 第11章 散列表 288 11.1 散列表的概念 288 11.2 構造散列函數的方法 289 11.2.1 直接定址法 289 11.2.2 折疊法 289 11.2.3 數字分析法 289 11.2.4 平方取中法 290 11.2.5 除留餘數法 290 11.3 解決衝突的方法 291 11.3.1 閉散列法 291 11.3.2 開散列法 293 11.4 散列表的實現 294 11.4.1 閉散列表的表示和實現 294 11.4.2 開散列表的表示和實現 298 11.4.3 閉散列表與開散列表的 比較 302 11.5 散列表的查找性能分析 302 習題 303 第12章 排序 306 12.1 排序的基本概念 306 12.2 插入排序 307 12.2.1 直接插入排序 307 12.2.2 折半插入排序 308 12.2.3 希爾排序 309 12.3 交換排序 310 12.3.1 冒泡排序 310 12.3.2 快速排序 311 12.4 選擇排序 315 12.4.1 直接選擇排序 315 12.4.2 堆排序 316 *12.4.3 錦標賽排序 320 12.5 歸併排序 320 *12.6 基數排序 322 12.7 各種內部排序方法的比較 324 *12.8 外部排序 327 12.8.1 置換選擇排序 328 12.8.2 多路歸併排序 330 習題 331 附錄A 上機實驗參考題目 334 參考文獻 336


章節試讀:

隨著電腦技術的飛速發展,電腦在各個學科和領域得到廣泛應用,而這些應用所面臨的首要問題就是對於資訊量大、種類繁多、結構複雜的數據和數據關係的處理,因此必須設計好數據結構和數據組織方式,以便有效地實現數據存儲、數據傳輸和數據處理等操作。數據結構主要研究數據的邏輯結構,數據在電腦中的存儲實現,以及處理不同結構數據的演算法。我們研究數據結構的目的是編寫更高效的程式,而高效、簡捷的程式取決於數據結構和演算法的設計。 “數據結構”是電腦程式設計的重要理論基礎,是電腦專業最為核心的一門專業基礎課程,也是非電腦專業的主要選修課程,同時還是一門考研課程。數據結構前承高級語言程式設計和離散數學,後接操作系統、編譯原理、資料庫原理等專業課程,為研製開發各種系統和應用軟體奠定理論和實踐基礎。該課程的學習效果不僅關係到後續課程的學習,而且直接關係到軟體設計水準的提高和專業素質的培養,在電腦學科教育中有非常重要的作用。 考慮到初學者普遍對演算法設計問題感到比較困難且思路不明確,本書不僅注重基本概念的引入和闡述,更加注重演算法的設計、分析與實現,強調實踐環節的重要性。本書具有如下特點。 (1)將C 語言作為數據結構的演算法描述語言,讓數據結構與面向對象技術有機結合。在設置例題時,充分考慮應用型人才培養的需求,更加側重於演算法的程式實現。書中的演算法講解都有風格優美而完整的C 代碼實現,並在Visual Studio 2010環境下編譯通過,這將有利於讀者掌握演算法的程式實現及對演算法進行分析與比較。 (2)按照“全國碩士研究生招生考試電腦科學與技術學科聯考電腦學科專業基礎綜合考試大綱”的要求編寫,基本涵蓋該考試大綱所有的知識點,並在重要知識點之後附加部分高校及全國統一考試真題作為自測題。讀者在完成相應問題的同時,既能鞏固知識點,又能有選擇地提高能力,還能有效地檢驗階段學習效果。 (3)系統、全面地介紹各種傳統的數據結構,按照“線性結構、樹結構、圖結構、集合結構”四大模組順序安排內容。部分章節還設有演算法設計舉例,意在提高初學者的演算法分析和設計的能力。 全書分為12章。 第1章介紹基礎知識,討論什麼是數據結構,給出數據結構和演算法的相關概念與描述方法,介紹演算法分析的基本方法。 線性結構包括第2∼5章。第2章介紹線性表的有關概念及其基本操作,是後續章節的基礎。第3章在第2章的基礎上討論操作受限的線性表——棧與佇列。第4章討論數據元素為字元的特殊的線性表——串。第5章介紹程式設計中常用的數據類型——數組。 樹結構包括第6、7章。第6章介紹樹和二叉樹的有關概念及基本操作。第7章討論樹和二叉樹的應用。 圖結構包括第8、9章。第8章介紹圖的基本概念、存儲結構及遍曆運算。第9章討論圖的應用。 集合結構包括第10∼12章。第10章以集合作為數據模型,討論查找的方法和技術,包括靜態查找表和動態查找表。第11章介紹一種專用於集合的存儲和檢索的數據結構——散列表。第12章介紹一些常用的排序演算法,包括內部排序和外部排序。 本書由教學一線的教師主筆,結合作者多年的教學經驗和教學素材,針對數據結構這門課程的特點撰寫而成,目的是使學生在扎實的編程能力基礎上,掌握如何合理地組織數據、有效地存儲和處理數據,並學會在時間複雜度和空間複雜度之間進行平衡與取捨。本書滿足多樣化的人才培養模式的需求,既可作為普通高等院校電腦及相關專業的數據結構課程教材,也可作為考研參考書,還可作為工程技術人員的工具書。在本書目錄中加“*”的章節可以酌情處理。 在本書的編寫和出版過程中得到電子工業出版社冉哲編輯和《演算法與數據結構考研試題精析》的編者陳守孔教授的諸多幫助,得到吉林大學珠海學院領導的大力支持,在此深表感謝。 由於作者水準所限,加上電腦學科的發展十分迅速,書中難免有不妥之處,懇請讀者批評指正。

 
  步驟一.
依據網路上的圖書,挑選你所需要的書籍,根據以下步驟進行訂購
選擇產品及數量 結 帳 輸入基本資料 取貨與付款方式
┌───────────────────────────────────────────────────┘
資料確定 確認結帳 訂單編號    

步驟二.
完成付款的程序後,若採用貨到付款等宅配方式,3~7天內 ( 例假日將延期一至兩天 ) 您即可收到圖書。若至分店門市取貨,一週內聯絡取書。

步驟三.
完成購書程序者,可利用 訂單查詢 得知訂單進度。

注意事項.
● 付款方式若為網路刷卡必須等" 2 ~ 3 個工作天"確認款項已收到,才會出貨.如有更改書籍數量請記得按更新購物車,謝謝。

● 大陸出版品封面老舊、磨痕、凹痕等均屬常態,除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。

● 至2018年起,因中國大陸環保政策,部分書籍配件以QR CODE取代光盤音頻mp3或dvd,已無提供實體光盤。如需使用學習配件,請掃描QR CODE 連結至當地網站註冊並通過驗證程序,方可下載使用。造成不便,敬請見諒。

● 我們將保留所有商品出貨權利,如遇缺書情形,訂單未達免運門檻運費需自行負擔。

預訂海外庫存.
商品到貨時間須4週,訂單書籍備齊後方能出貨,如果您有急用書籍,建議與【預訂海外庫存】商品分開訂購。