數(shù)據(jù)結(jié)構(gòu)(c#語言描述) (第2版)
定 價:38 元
叢書名:21世紀全國高職高專計算機系列實用規(guī)劃教材
- 作者:陳廣 主編
- 出版時間:2014/9/1
- ISBN:9787301247761
- 出 版 社:北京大學出版社
- 中圖法分類:TP312C
- 頁碼:232
- 紙張:膠版紙
- 版次:2
- 開本:16開
《數(shù)據(jù)結(jié)構(gòu)(附光盤C#語言描述第2版21世紀全國高職高專計算機系列實用規(guī)劃教材)》使用C#語言及面向?qū)ο蟮姆椒ㄖv解數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)知識,并針對數(shù)據(jù)結(jié)構(gòu)中的難點及關(guān)鍵點制作了配套的視頻教程,使用動畫加講解的方式對數(shù)據(jù)結(jié)構(gòu)及算法進行詳細的介紹。
全書共分9章,第l~5章主要介紹線性表、棧、隊列、樹、圖這些基本的數(shù)據(jù)結(jié)構(gòu);第6~8章介紹查找和排序算法及哈希表;第9章是綜合實訓部分,通過實例演示數(shù)據(jù)結(jié)構(gòu)及算法在程序中的應(yīng)用。第2~8章的結(jié)尾部分均配備了實訓指導(dǎo),以加深讀者對各個章節(jié)理論知識的理解。配套光盤內(nèi)容為與本書配套使用的視頻教程。
本書體系新穎,層次清晰,特別注重可讀性和實用性,并結(jié)合數(shù)據(jù)結(jié)構(gòu)知識深入C#類庫進行解析。
全書通俗易懂、由淺入深,不但能使讀者了解數(shù)據(jù)結(jié)構(gòu)知識,而且能使讀者對C#語言有更進一步的認識。
本書可以作為高等職業(yè)院校計算機及相關(guān)專業(yè)的教材,也適合作為自學教材以及C#程序開發(fā)人員的參考書。
《數(shù)據(jù)結(jié)構(gòu)(c#語言描述) (第2版)》既可以作為高等職業(yè)院校計算機及相關(guān)專業(yè)的教材,也適合作為自學教材以及C#程序開發(fā)人員的參考書。
陳廣,廣西機電職業(yè)技術(shù)學院雙師型教師,主講C#程序設(shè)計,數(shù)據(jù)結(jié)構(gòu)等課程,多年來一直從事本領(lǐng)域的職業(yè)教育研究和實踐,在省級以上刊物發(fā)表教學和學術(shù)論文8篇。
第1章 緒論 1.1 什么是數(shù)據(jù)結(jié)構(gòu) 1.1.1 數(shù)據(jù)結(jié)構(gòu)的產(chǎn)生與發(fā)展 1.1.2 數(shù)據(jù)和數(shù)據(jù)結(jié)構(gòu) 1.1.3 數(shù)據(jù)的邏輯結(jié)構(gòu) 1.1.4 數(shù)據(jù)結(jié)構(gòu)的組成部分 1.1. 第1章 緒論 1.1 什么是數(shù)據(jù)結(jié)構(gòu) 1.1.1 數(shù)據(jù)結(jié)構(gòu)的產(chǎn)生與發(fā)展 1.1.2 數(shù)據(jù)和數(shù)據(jù)結(jié)構(gòu) 1.1.3 數(shù)據(jù)的邏輯結(jié)構(gòu) 1.1.4 數(shù)據(jù)結(jié)構(gòu)的組成部分 1.1.5 數(shù)據(jù)的物理結(jié)構(gòu) 1.2 算法與算法分析 1.2.1 算法 1.2.2 算法的分析 1.3 本章小結(jié) 1.4 習題第2章 線性表 2.1 線性表的定義 2.2 線性表的順序存儲結(jié)構(gòu)—— 順序表 2.2.1 順序表的特點 2.2.2 數(shù)組 2.2.3 System.Collections.ArrayList 2.2.4 類型安全 2.3 線性表的鏈式存儲結(jié)構(gòu)——鏈表 2.3.1 單向鏈表 2.3.2 循環(huán)鏈表 2.3.3 雙向鏈表 2.4 本章小結(jié) 2.5 實訓指導(dǎo):約瑟夫問題 2.6 習題第3章 棧和隊列 3.1 棧 3.1.1 棧的概念及操作 3.1.2 System.Collections.Stack 3.1.3 雙向棧 3.2 隊列 3.2.1 隊列的概念及操作 3.2.2 循環(huán)隊列 3.2.3 System.Collections.Queue 3.3 本章小結(jié) 3.4 實訓指導(dǎo):棧和隊列的使用 3.5 習題第4章 樹 4.1 樹的基本概念 4.1.1 樹的定義 4.1.2 樹的表示 4.1.3 樹的基本術(shù)語 4.2 二叉樹 4.2.1 二叉樹的基本概念 4.2.2 二叉樹的存儲結(jié)構(gòu) 4.3 二叉樹的遍歷 4.3.1 二叉樹的深度優(yōu)先遍歷 4.3.2 二叉樹的廣度優(yōu)先遍歷 4.4 樹和森林 4.4.1 樹的存儲結(jié)構(gòu) 4.4.2 森林、樹、二叉樹的 相互轉(zhuǎn)換 4.5 本章小結(jié) 4.6 實訓指導(dǎo):二叉樹求解四則運算 4.7 習題第5章 圖 5.1 圖的基本概念和術(shù)語 5.2 圖的存儲結(jié)構(gòu) 5.2.1 鄰接矩陣表示法 5.2.2 鄰接表表示法 5.3 圖的遍歷 5.3.1 深度優(yōu)先搜索遍歷 5.3.2 廣度優(yōu)先搜索遍歷 5.3.3 非連通圖的遍歷 5.4 生成樹和最小生成樹 5.4.1 生成樹 5.4.2 最小生成樹 5.4.3 普里姆算法 5.4.4 克魯斯卡爾算法 5.5 最短路徑 5.5.1 單源點最短路徑 5.5.2 所有頂點之間的最短路徑 5.6 本章小結(jié) 5.7 實訓指導(dǎo):迷宮最短路徑問題 5.8 習題第6章 查找 6.1 查找的基本概念 6.2 順序查找 6.3 二分查找 6.3.1 二分查找的基本原理 6.3.2 二分查找的算法實現(xiàn) 6.3.3 Array.BinarySearch方法 6.3.4 剖析System.Collections. SortedList 6.4.分塊查找 6.5 二叉查找樹 6.5.1 二叉查找樹的定義 6.5.2 二叉查找樹的查找 6.5.3 二叉查找樹的插入 6.5.4 二叉查找樹的刪除 6.6 平衡二叉樹 6.6.1 AvL樹的平衡 6.6.2 AVL樹的構(gòu)造 6.6.3 AvL樹結(jié)點的插入 6.6.4 AVL樹結(jié)點的刪除 6.6.5 AvL樹的代碼實現(xiàn) 6.6 本章小結(jié) 6.7 實訓指導(dǎo):Array BinarySearch的 使用 6.8 習題第7章 哈希表 7.1 概念引入 7.2 構(gòu)造哈希函數(shù)的方法 7.3 哈希沖突解決方法 7.3.1 閉散列法 7.3.2 開散列法 7.4 剖析System Collections.Hashtable 7.4.1 Hashtable的實現(xiàn)原理 7.4.2 Hashtable的代碼實現(xiàn) 7.5 剖析Dictionary 7.5.1 Dictionary類 實現(xiàn)原理 7.5.2 Dictionary的 代碼實現(xiàn) 7.6 本章小結(jié) 7.7 實訓指導(dǎo):幾種高效查找表的 測試和對比 7.8 習題第8章 排序 8.1 排序的基本概念 8.2 插入排序 8.2.1 直接插入排序 8.2.2 希爾排序 8.3 交換排序 8.3.1 冒泡排序 8.3.2 快速排序 8.4 選擇排序 8.4.1 直接選擇排序 8.4.2 堆排序 8.5 歸并排序 8.5.1 二路歸并排序 8.5.2 二路歸并排序的實現(xiàn) 8.6 本章小結(jié) 8.7 實訓指導(dǎo):使用IComparable和 IComparer接口進行排序 8.8 習題第9章 綜合實訓——八數(shù)碼問題 9.1 什么是八數(shù)碼問題 9.2 八數(shù)碼問題的解析 9.2.1 從初始狀態(tài)到達目標狀態(tài) 是否有解 9.2.2 使用什么方法求解八數(shù)碼 問題的最優(yōu)解 9.2.3 如何避免重復(fù)訪問一個 狀態(tài) 9.2.4 怎樣記錄查找路徑 9.2.5 使用什么數(shù)據(jù)結(jié)構(gòu)表示 棋盤狀態(tài) 9.3 設(shè)計目標 9.4 界面設(shè)計 9.5 代碼編寫 9.5.1 MoveDirection.cs 9.5.2 AIResult.cs 9.5.3 HashHelpers.cs 9.5.4 SimpleDictionary.cs 9.5.5 NumSwitch.cs 9.5.6 IEightNumAI.cs 9.5.7 BFS AI.cs 9.5.8 MainForm.cs 9.6 調(diào)試運行 9.7 思考與改進參考文獻