幫助中心 | 我的帳號 | 關於我們

數據結構(附光碟C#語言描述21世紀全國高職高專電腦系列實用規劃教材)

  • 作者:陳廣
  • 出版社:北京大學
  • ISBN:9787301144756
  • 出版日期:2009/03/01
  • 裝幀:平裝
  • 頁數:279
人民幣:RMB 38 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書使用C#語言及面向對象的方法講解了數據結構的基礎知識,並針對數據結構中的難點及關鍵點製作了配套的視頻教程,使用動畫加講解的方法對數據結構及演算法進行了詳細的介紹。
    全書共分10章,第1-6章主要介紹了線性表、棧、隊列、串、樹、圖這些基本的數據結構;第7、8章本書使用C#語言及面向對象的方法介紹了數據結構的基礎知識,並針對數據結構中的難點及關鍵點,配套了視頻教程,使用動畫加講解的方式對數據結構及演算法進行了詳細地介紹。介紹了查找和排序演算法及哈希表;前9章每章的結尾部分均配備了實訓指導,用以加深對各個章節的理解;第10章是綜合實訓部分,通過實例演示數據結構及演算法在程序中的使用。附書光碟內容為與本書配套使用的視頻教程。
    本書體系新穎,層次清晰,特別注重可讀性和實用性,並結合數據結構知識深入C#類庫進行解析。全書通谷易懂、由淺入深,不但使讀者了解了數據結構知識,而且對C#語言有了更進一步的認識。
    本書既可以作為高等職業院校電腦及相關專業的教材,也適合作為自學教材以及C#程序開發人員的參考書。

作者介紹
陳廣

目錄
第1章  緒論
  1.1  什麼是數據結構
    1.1.1  數據結構的產生與發展
    1.1.2  數據和數據結構
    1.1.3  數據的邏輯結構
    1.1.4  數據的存儲結構
    1.1.5  數據類型
  1.2  演算法與演算法分析
    1.2.1  演算法
    1.2.2  演算法設計的目標
    1.2.3  演算法的時間複雜度
    1.2.4  演算法的空間複雜度
  1.3  本章小結
  1.4  習題
第2章  線性表
  2.1  線性表的定義
  2.2  線性表的順序存儲結構——順序表
    2.2.1  順序表的特點
    2.2.2  數組
    2.2.3  System.Collections.ArrayList
    2.2.4  類型安全
  2.3  線性表的鏈式存儲結構——鏈表
    2.3.1  單向鏈表
    2.3.2  循環鏈表
    2.3.3  雙向鏈表
  2.4  本章小結
  2.5  實訓指導:虛擬線性表
  2.6  習題
第3章  棧和隊列
  3.1  棧
    3.1.1  棧的概念及操作
    3.1.2  System.Collections.Stack
    3.1.3  棧的應用
    3.1.4  雙向棧
  3.2  隊列
    3.2.1  隊列的概念及操作
    3.2.2  循環隊列
    3.2.3  System.Collections.Queue
  3.3  本章小結
  3.4  實訓指導:虛擬循環隊列
  3.5  習題
第4章  串
  4.1  串的基本概念
  4.2  String
  4.3  System.Text.StringBuilder
  4.4  串的模式匹配
    4.4.1  Brute.Force演算法
    4.4.2  KMP演算法
  4.5  本章小結
  4.6  實訓指導:求最長公共子串

  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.3.2  二叉樹的廣度優先遍歷
  5.4  線索二叉樹
    5.4.1  線索二叉樹的定義
    5.4.2  中序線索二叉樹
  5.5  樹和森林
    5.5.1  樹的存儲結構
    5.5.2  森林、樹、二叉樹的相互轉換
  5.6  可繪製二叉樹的設計
    5.6.1  二叉樹結點的位置關係
    5.6.2  介面設計
    5.6.3  二又樹繪製類的設計
    5.6.4  實現可繪製二又樹
  5.7  二叉樹畫樹演算法
    5.7.1  滿二叉樹畫法
    5.7.2  界內畫法
    5.7.3  最小面積畫法
  5.8  本章小結
  5.9  實訓指導:虛擬二叉樹
  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.4.4  克魯斯卡爾演算法
  6.5  最短路徑
    6.5.1  單源點最短路徑
    6.5.2  所有頂點之間的最短路徑
  6.6  本章小結
  6.7  實訓指導:迷宮最短路徑問題
  6.8  習題

第7章  查找
  7.1  查找的基本概念
  7.2  順序查找
  7.3  二分查找
    7.3.1  二分查找的基本原理
    7.3.2  二分查找的演算法實現
    7.3.3  Array.BinarySearch方法
    7.3.4  剖析System.Collections.SortedList
  7.4  分塊查找
  7.5  二又查找樹
    7.5.1  二叉查找樹的定義
    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.4.1  Hashtable的實現原理
    8.4.2  Hashtable的代碼實現
  8.5  剖析Dictionary
    8.5.1  Dictionary類實現原理
    8.5.2  Dictionary的代碼實現
  8.6  本章小結
  8.7  實訓指導:虛擬哈希表
  8.8  習題
第9章  排序
  9.1  排序的基本概念
  9.2  插入排序
    9.2.1  直接插入排序
    9.2.2  希爾排序
  9.3  交換排序
    9.3.1  冒泡排序
    9.3.2  快速排序
  9.4  選擇排序
    9.4.1  直接選擇排序
    9.4.2  堆排序
  9.5  歸併排序
    9.5.1  二路歸併排序
    9.5.2  二路歸併排序的實現

  9.6  本章小結
  9.7  實訓指導:使用IComparer介面進行排序
  9.8  習題
第10章  綜合實訓——八數碼問題
  10.1  什麼是八數碼問題
  10.2  八數碼問題的解析
    10.2.1  從初始狀態到達目標狀態是否有解
    10.2.2  使用什麼方法求解八數碼問題的最優解
    10.2.3  如何避免重複訪問一個狀態
    10.2.4  怎樣記錄查找路徑
    10.2.5  使用什麼數據結構表示棋盤狀態
  10.3  設計目標
  10.4  界面設計
  10.5  代碼編寫
    10.5.1  MoveDirection.cs
    10.5.2  AIResult.cs
    10.5.3  HashHelpers.cs
    10.5.4  SimpleDietionary.cs
    10.5.5  NumSwitch.cs
    10.5.6  IEightNumAl.cs
    10.5.7  BFS_AI.cs
    10.5.8  MainForm.cs
  10.6  調試運行
  10.7  思考與改進
參考文獻

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032