數(shù)據(jù)結(jié)構(gòu)(c#語言描述) (第2版)
定 價(jià):38 元
叢書名:21世紀(jì)全國(guó)高職高專計(jì)算機(jī)系列實(shí)用規(guī)劃教材
- 作者:陳廣 主編
- 出版時(shí)間:2014/9/1
- ISBN:9787301247761
- 出 版 社:北京大學(xué)出版社
- 中圖法分類:TP312C
- 頁碼:232
- 紙張:膠版紙
- 版次:2
- 開本:16開
《數(shù)據(jù)結(jié)構(gòu)(附光盤C#語言描述第2版21世紀(jì)全國(guó)高職高專計(jì)算機(jī)系列實(shí)用規(guī)劃教材)》使用C#語言及面向?qū)ο蟮姆椒ㄖv解數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)知識(shí),并針對(duì)數(shù)據(jù)結(jié)構(gòu)中的難點(diǎn)及關(guān)鍵點(diǎn)制作了配套的視頻教程,使用動(dòng)畫加講解的方式對(duì)數(shù)據(jù)結(jié)構(gòu)及算法進(jìn)行詳細(xì)的介紹。
全書共分9章,第l~5章主要介紹線性表、棧、隊(duì)列、樹、圖這些基本的數(shù)據(jù)結(jié)構(gòu);第6~8章介紹查找和排序算法及哈希表;第9章是綜合實(shí)訓(xùn)部分,通過實(shí)例演示數(shù)據(jù)結(jié)構(gòu)及算法在程序中的應(yīng)用。第2~8章的結(jié)尾部分均配備了實(shí)訓(xùn)指導(dǎo),以加深讀者對(duì)各個(gè)章節(jié)理論知識(shí)的理解。配套光盤內(nèi)容為與本書配套使用的視頻教程。
本書體系新穎,層次清晰,特別注重可讀性和實(shí)用性,并結(jié)合數(shù)據(jù)結(jié)構(gòu)知識(shí)深入C#類庫(kù)進(jìn)行解析。
全書通俗易懂、由淺入深,不但能使讀者了解數(shù)據(jù)結(jié)構(gòu)知識(shí),而且能使讀者對(duì)C#語言有更進(jìn)一步的認(rèn)識(shí)。
本書可以作為高等職業(yè)院校計(jì)算機(jī)及相關(guān)專業(yè)的教材,也適合作為自學(xué)教材以及C#程序開發(fā)人員的參考書。
《數(shù)據(jù)結(jié)構(gòu)(c#語言描述) (第2版)》既可以作為高等職業(yè)院校計(jì)算機(jī)及相關(guān)專業(yè)的教材,也適合作為自學(xué)教材以及C#程序開發(fā)人員的參考書。
陳廣,廣西機(jī)電職業(yè)技術(shù)學(xué)院雙師型教師,主講C#程序設(shè)計(jì),數(shù)據(jù)結(jié)構(gòu)等課程,多年來一直從事本領(lǐng)域的職業(yè)教育研究和實(shí)踐,在省級(jí)以上刊物發(fā)表教學(xué)和學(xué)術(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 習(xí)題第2章 線性表 2.1 線性表的定義 2.2 線性表的順序存儲(chǔ)結(jié)構(gòu)—— 順序表 2.2.1 順序表的特點(diǎn) 2.2.2 數(shù)組 2.2.3 System.Collections.ArrayList 2.2.4 類型安全 2.3 線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)——鏈表 2.3.1 單向鏈表 2.3.2 循環(huán)鏈表 2.3.3 雙向鏈表 2.4 本章小結(jié) 2.5 實(shí)訓(xùn)指導(dǎo):約瑟夫問題 2.6 習(xí)題第3章 棧和隊(duì)列 3.1 棧 3.1.1 棧的概念及操作 3.1.2 System.Collections.Stack 3.1.3 雙向棧 3.2 隊(duì)列 3.2.1 隊(duì)列的概念及操作 3.2.2 循環(huán)隊(duì)列 3.2.3 System.Collections.Queue 3.3 本章小結(jié) 3.4 實(shí)訓(xùn)指導(dǎo):棧和隊(duì)列的使用 3.5 習(xí)題第4章 樹 4.1 樹的基本概念 4.1.1 樹的定義 4.1.2 樹的表示 4.1.3 樹的基本術(shù)語 4.2 二叉樹 4.2.1 二叉樹的基本概念 4.2.2 二叉樹的存儲(chǔ)結(jié)構(gòu) 4.3 二叉樹的遍歷 4.3.1 二叉樹的深度優(yōu)先遍歷 4.3.2 二叉樹的廣度優(yōu)先遍歷 4.4 樹和森林 4.4.1 樹的存儲(chǔ)結(jié)構(gòu) 4.4.2 森林、樹、二叉樹的 相互轉(zhuǎn)換 4.5 本章小結(jié) 4.6 實(shí)訓(xùn)指導(dǎo):二叉樹求解四則運(yùn)算 4.7 習(xí)題第5章 圖 5.1 圖的基本概念和術(shù)語 5.2 圖的存儲(chǔ)結(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 單源點(diǎn)最短路徑 5.5.2 所有頂點(diǎn)之間的最短路徑 5.6 本章小結(jié) 5.7 實(shí)訓(xùn)指導(dǎo):迷宮最短路徑問題 5.8 習(xí)題第6章 查找 6.1 查找的基本概念 6.2 順序查找 6.3 二分查找 6.3.1 二分查找的基本原理 6.3.2 二分查找的算法實(shí)現(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é)點(diǎn)的插入 6.6.4 AVL樹結(jié)點(diǎn)的刪除 6.6.5 AvL樹的代碼實(shí)現(xiàn) 6.6 本章小結(jié) 6.7 實(shí)訓(xùn)指導(dǎo):Array BinarySearch的 使用 6.8 習(xí)題第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的實(shí)現(xiàn)原理 7.4.2 Hashtable的代碼實(shí)現(xiàn) 7.5 剖析Dictionary 7.5.1 Dictionary類 實(shí)現(xiàn)原理 7.5.2 Dictionary的 代碼實(shí)現(xiàn) 7.6 本章小結(jié) 7.7 實(shí)訓(xùn)指導(dǎo):幾種高效查找表的 測(cè)試和對(duì)比 7.8 習(xí)題第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 二路歸并排序的實(shí)現(xiàn) 8.6 本章小結(jié) 8.7 實(shí)訓(xùn)指導(dǎo):使用IComparable和 IComparer接口進(jìn)行排序 8.8 習(xí)題第9章 綜合實(shí)訓(xùn)——八數(shù)碼問題 9.1 什么是八數(shù)碼問題 9.2 八數(shù)碼問題的解析 9.2.1 從初始狀態(tài)到達(dá)目標(biāo)狀態(tài) 是否有解 9.2.2 使用什么方法求解八數(shù)碼 問題的最優(yōu)解 9.2.3 如何避免重復(fù)訪問一個(gè) 狀態(tài) 9.2.4 怎樣記錄查找路徑 9.2.5 使用什么數(shù)據(jù)結(jié)構(gòu)表示 棋盤狀態(tài) 9.3 設(shè)計(jì)目標(biāo) 9.4 界面設(shè)計(jì) 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)試運(yùn)行 9.7 思考與改進(jìn)參考文獻(xiàn)