《資料結構(C#語言描述)》

來源:互聯網
上載者:User

標籤:style   blog   http   io   os   使用   ar   strong   for   

本文轉載自abatei,資料結構學了很多次,但是只是知道硬性的概念,現在專攻C#語言,對程式設計語言也有了更深的認識,

買一本C#的資料結構來看看,再一次加深對資料結構的學習,真是一件讓人高興的事。

噹噹網可購買到,無需網上銀行,可送貨上門,貨到付款

購買地址:

http://product.dangdang.com/product.aspx?product_id=20544747

如對本書有什麼意見和建議可到概述作者的部落格留言

http://cgbluesky.blog.163.com/ 

這是本書目錄,另外之前也發布過一集二叉樹的非遞迴遍曆演算法視頻給大家試看,新的如下:

http://www.fileupyours.com/files/219335/5-2.swf

 

第1章       緒論

1.1 什麼是資料結構

1.1.1   資料結構的產生與發展

1.1.2   資料和資料結構

1.1.3   資料的邏輯結構

1.1.4   資料的儲存結構

1.2 演算法與演算法分析

1.1.5   演算法

1.1.6   演算法設計的目標

1.1.7   演算法的時間複雜度

1.1.8   演算法的空間複雜度

1.3 本章小結

1.4 習題

 

第2章       線性表

2.1 線性表的定義

2.2 線性表的順序儲存結構---順序表

2.2.1 順序表的特點

2.2.2 數組

視頻2-1

2.2.3 剖析System.Collections.ArrayList

視頻2-2

2.2.4 型別安全

2.3 線性表的鏈式儲存結構---鏈表

2.3.1 單向鏈表

視頻2-3

2.3.2 迴圈鏈表

視頻2-4

2.3.3 雙向鏈表

視頻2-5

2.4 本章小結

2.5 實訓指導:虛擬線性表

視頻2-6

2.6 習題

 

第3章  棧和隊列

3.1 棧

3.1.1 棧的概念及操作

3.1.2 剖析System.Collections.Stack

視頻3-1

3.1.3 棧的應用

視頻3-2

3.1.4 雙向棧

3.2 隊列

3.2.1 隊列的概念及操作

3.2.2 迴圈隊列

3.2.3 剖析System.Collections.Queue

視頻3-3

3.3 本章小結

3.4 實訓指導:虛擬迴圈隊列

視頻3-4

3.5 習題

 

第4章  

4.1 串的基本概念

4.2 String

4.3 System.Text.StringBuilder

4.4 串的模式比對

4.4.1 Brute-Force演算法

視頻4-1

4.4.2 KMP演算法

視頻4-2

視頻4-3

4.5 本章小結

4.6 實訓指導:求最長公用子串

視頻4-4

4.7 習題

 

第5章  

5.1 樹的基本概念

5.1.1 樹的定義

5.1.2 樹的表示

5.1.3 樹的基本術語

5.2 二叉樹

5.2.1 二叉樹的基本概念

5.2.2 二叉樹的儲存結構

5.3 二叉樹的遍曆

5.3.1 二叉樹的深度優先遍曆

視頻5-1

5.3.2 二叉樹的廣度優先遍曆

視頻5-2

5.4 線索二叉樹

5.4.1 線索二叉樹的定義

5.4.2 中序線索二叉樹

視頻5-3

5.5 樹和森林

5.5.1 樹的儲存結構

5.5.2 森林、樹、二叉樹的相互轉換

視頻5-4

5.6 可繪製二叉樹的設計

5.6.1 二叉樹的結點的位置關係

5.6.2 介面設計

5.6.3 二叉樹繪製類的設計

5.6.4 實現可繪製二叉樹

5.7 二叉樹的畫樹演算法

5.7.1 滿二叉樹畫法

視頻5-5

5.7.2 界內畫法

5.7.3 最小面積畫法

5.8 本章小結

5.9 實訓指導:虛擬二叉樹

視頻5-6

5.10 習題

 

第6章 

6.1 基本概念和術語

6.2 圖的儲存結構

6.2.1 鄰接矩陣標記法

6.2.2 鄰接表標記法

6.3 圖的遍曆

6.3.1 深度優先搜尋遍曆

6.3.2 廣度優先搜尋遍曆

6.3.3 非連通圖的遍曆

6.4 產生樹和最小產生樹

6.4.1 產生樹

6.4.2 最小產生樹

6.4.3 普裡姆演算法

視頻6-1

6.4.4 克魯斯卡爾演算法

視頻6-2

6.5 最短路徑

6.5.1 單源點最短路徑

視頻6-3

6.5.2 所有頂點之間的最短路徑

視頻6-4

6.6 本章小結

6.7 實訓指導:迷宮最短路徑問題

視頻6-5

6.8 習題

 

第7章  尋找

7.1 尋找的基本概念

7.2 順序尋找

7.3 二分尋找

7.3.1 二分尋找的基本原理

視頻7-1

7.3.2 二分尋找的演算法實現

7.3.3 Array.BinarySearch方法

7.3.4 剖析System.Collections.SortedList

7.4 分塊尋找

視頻7-2

7.5 二叉尋找樹

7.5.1 二叉尋找樹的定義

視頻7-3

7.5.2 二叉尋找樹的尋找

7.5.3 二叉尋找樹的插入

7.5.4 二叉尋找樹的刪除

7.5.5 二叉尋找樹的代碼實現

7.6 本章小結

7.7 實訓指導:Array.BinarySearch的使用

7.8 習題

 

第8章          雜湊表

8.1 概念引入

8.2 構造雜湊函數的方法

8.2.1 直接定址法

8.2.2 數字分析法

8.2.3 除留餘數法

8.3 雜湊衝突解決方案

8.3.1 閉散列法(開放地址法)

8.3.2 開散列法(鏈地址法)

8.4 剖析System.Collections.Hashtable

視頻8-1

8.4.1 Hashtable的實現原理

8.4.2 Hashtable的代碼實現

8.5 剖析Dictionary<TKey, TValue>

視頻8-2

8.5.1 Dictionary<TKey, TValue>類實現原理

8.5.2 Dictionary<TKey, TValue>的代碼實現

8.6 本章小結

8.7 實訓指導:虛擬雜湊表

視頻8-3

8.8 習題

 

第9章          排序

9.1 排序的基本概念

9.2 插入排序

9.2.1 直接插入排序

視頻9-1

9.2.2 希爾排序

視頻9-2

9.3 交換排序

9.3.1 冒泡排序

視頻9-3

9.3.2 快速排序

視頻9-4

9.4 選擇排序

9.4.1 直接選擇排序

視頻9-5

9.4.2 堆排序

視頻9-6

9.5 歸併排序

視頻9-7

9.5.1 二路歸併排序

9.5.2 二路歸併排序的實現

9.6 本章小結

9.7 實訓指導:使用IComparer<T>介面進行排序

視頻9-8

9.8 習題

 

第10章        綜合實訓---八數位問題

10.1 什麼是八數位問題

10.2 八數位問題的解析

視頻10-1

10.2.1 從初始狀態到達目標狀態是否有解

10.2.2 使用什麼方法求解八解碼問題的最優解

10.2.3 如何避免重複訪問一個狀態

10.2.4 怎樣記錄尋找路徑

10.2.5 使用什麼資料結構表示棋盤狀態

10.3 設計目標

10.4 介面設計

視頻10-2

10.5 代碼編寫

視頻10-3

     10.5.1 MoveDirection.cs

     10.5.2 AIResult.cs

     10.5.3 HashHelpers.cs

     10.5.4 SimpleDictionary.cs

10.5.5 NumSwitch.cs

10.5.6 IEightNumAI.cs

10.5.7 BFS_AI.cs

10.5.8 MainForm.cs

10.6 調試運行

10.7 思考與改進

《資料結構(C#語言描述)》

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.