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

數據結構與演算法(C#語言描述)/圖靈電腦科學叢書

  • 作者:(美)麥克米倫|譯者:呂秀鋒//崔睿
  • 出版社:人民郵電
  • ISBN:9787115204271
  • 出版日期:2009/05/01
  • 裝幀:平裝
  • 頁數:260
人民幣:RMB 49 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書是在.NET框架下用C#語言實現數據結構和演算法的第一本全面的參考書。本書介紹的方法非常實用,採用了時間測試而非大O表示法來分析演算法性能。內容涵蓋了數據結構和演算法的基本原理,涉及數組、廣義表、鏈表、散列表、樹、圖、排序搜索演算法以及更多概率演算法和動態規則等高級演算法。此外,書中還提供了.NET框架類庫中的C#語言實現的數據結構和演算法。
    本書適合作為C#數據結構課程的教材,同時也適合C#專業人士閱讀。

作者介紹
(美)麥克米倫|譯者:呂秀鋒//崔睿
  Michael McMillan,作為大學老師和程序員,曾編寫過多部受到好評的數據結構與演算法圖書,包括Data Structures and Algorithms Using C#、Data Structures and Algorithms Using Visual Basic.NET,以及其他電腦教程,如Object-Oriented Programming with Visual Basic.NET、C++ Programming: An Introduction、Java Programming Tutorial、Perl from the Ground Up等。Michael現在阿肯色州北小石城普瓦斯基技術學院當講師,教授電腦信息系統。他還是北小石城阿肯色大學的兼職講師,教授信息科學。在做講師之前,他曾是阿肯色兒童醫院的一名程序設計師/分析師,負責統計計算和數據分析。

目錄
第1章 Collections類、泛型類和Timing類概述
  1.1 群集的定義
  1.2 群集的描述
    1.2.1 直接存取群集
    1.2.2 順序存取群集
    1.2.3 層次群集
    1.2.4 組群集
  1.3 CollectionBase類
    1.3.1 用ArrayList實現Collection類
    1.3.2 定義Collection類
    1.3.3 實現Collection類
  1.4 泛型編程
  1.5 時間測試
    1.5.1 一個簡單化的時間測試
    1.5.2 用於.NET環境的時間測試
    1.5.3 Timing Test類
  小結
  練習
第2章 數組和ArrayList
  2.1 數組基本概念
    2.1.1 數組的聲明和初始化
    2.1.2 數組元素的設置和存取訪問
    2.1.3 檢索數組元數據的方法和屬性
    2.1.4 多維數組
    2.1.5 參數數組
    2.1.6 鋸齒狀數組
  2.2 ArrayList類
    2.2.1 ArrayList類的成員
    2.2.2 應用ArrayList類
  小結
  練習
第3章 基礎排序演算法
  3.1 排序演算法
    3.1.1 數組類測試環境
    3.1.2 冒泡排序
    3.1.3 檢驗排序過程
    3.1.4 選擇排序
    3.1.5 插入排序
  3.2 基礎排序演算法的時間比較
  小結
  練習
第4章 基礎查找演算法
  4.1 順序查找
    4.1.1 查找最小值和最大值
    4.1.2 自組織數據加快順序查找速度
  4.2 二叉查找演算法
  4.3 遞歸二叉查找演算法
  小結
  練習
第5章 棧和隊列

  5.1 棧、棧的實現以及Stack類
    5.1.1 棧的操作
    5.1.2 Stack類的實現
  5.2 Stack類
    5.2.1 Stack構造器方法
    5.2.2 主要的棧操作
    5.2.3 Peek方法
    5.2.4 Clear方法
    5.2.5 Contains方法
    5.2.6 CopyTo方法和ToArray方法
    5.2.7 Stack類的實例:十進位向多種進位的轉換
  5.3 隊列、Queue類以及Queue類的實現
    5.3.1 隊列的操作
    5.3.2 Queue的實現
    5.3.3 Queue類:實例應用
    5.3.4 用隊列排序數據
    5.3.5 源自Queue類的優先隊列
  小結
  練習
第6章 BitArray類
  6.1 激發的問題
  6.2 位和位操作
    6.2.1 二進位數制系統
    6.2.2 處理二進位數:按位運算符和移位運算符
  6.3 按位運算符的應用
  6.4 整數轉換成二進位形式的應用程序
  6.5 移位的示例應用程序
    6.6 BitArray類
    6.6.1 使用BitArray類
    6.6.2 更多BitArray類的方法和屬性
  6.7 用BitArray來編寫埃拉托斯特尼篩法
  6.8 BitArray與數組在埃拉托斯特尼篩法上的比較
  小結
  練習
第7章 字元串、String類和StringBullder類
  7.1 String類的應用
    7.1.1 創建String對象
    7.1.2 常用的String類方法
    7.1.3 Split方法和Join方法
    7.1.4 比較字元串的方法
    7.1.5 處理字元串的方法
  7.2 StringBuilder類
    7.2.1 構造StringBuilder對象
    7.2.2 獲取並且設置關於StringBuilder對象的信息
    7.2.3 修改StringBuilder對象
  7.3 String類與StringBuilder的性能比較
  小結
  練習
第8章 模式匹配和文本處理
  8.1 正則表達式概述

  8.2 數量詞
  8.3 使用字元類
  8.4 用斷言修改正則表達式
  8.5 使用分組構造
    8.5.1 匿名組
    8.5.2 命名組
    8.5.3 零寬度正向預搜索斷言和零寬度反向預搜索斷言
  8.6 CapturesCollection類
  8.7 正則表達式的選項
  小結
  練習
第9章 構建字典:DictionaryBase類和Sorted List類
  9.1 DictionaryBase類
    9.1.1 DictionaryBase類的基礎方法和屬性
    9.1.2 其他的DictionaryBase方法
  9.2 泛型KeyValuePair類
  9.3 SortedList類
  小結
  練習
第10章 散列和HashtabIe類
  10.1 散列概述
  10.2 選擇散列函數
  10.3 查找散列表中數據
  10.4 解決衝突
    10.4.1 桶式散列法
    10.4.2 開放定址法
    10.4.3 雙重散列法
  10.5 Hashtable類
    10.5.1 實例化Hashtable對象並且給其添加數據
    10.5.2 從散列表中分別檢索鍵和數值
    10.5.3 檢索基於鍵的數值
    10.5.4 Hashtable類的實用方法
  10.6 Hashtable的應用:電腦術語表
  小結
  練習
第11章 鏈表
  11.1 數組存在的問題
  11.2 鏈表的定義
  11.3 面向對象鏈表的設計
    11.3.1 Node類
    11.3.2 IJnkedList類
  11.4 鏈表設計的改進方案
    11.4.1 雙向鏈表
    11.4.2 循環鏈表
  11.5 使用Iterator類
    11.5.1 新的LinkedList類
    11.5.2 實例化Iterator類
  11.6 泛型Linked List類和泛型Node類
  小結
  練習

第12章 二叉樹和二叉查找樹
  12.1 樹的定義
  12.2 二叉樹
    12.2.1 構造二叉查找樹
    12.2.2 遍歷二叉查找樹
    12.2.3 在二叉查找樹中查找節點和最大,最小值
    12.2.4 從二叉查找樹中移除葉子節點
    12.2.5 刪除帶有一個子節點的節點
    12.2.6 刪除帶有兩個子節點的節點
  小結
  練習
第13章 集合
  13.1 集合的基礎定義、操作及屬性
    13.1.1 集合的定義
    13.1.2 集合的操作
    13.1.3 集合的屬性
  13.2 第一個用散列表的Set類的實現
    13.2.1 類數據成員和構造器方法
    13.2.2 Add方法
    13.2.3 Remove方法和Size方法
    13.2.4 IJnion方法
    13.2.5 Intersection方法
    13.2.6 Subset方法
    13.2.7 Difference方法
    13.2.8 測試CSet實現的程序
  13.3 CSet類的BitArray實現
    13.3.1 使用BitArray實現的概述
    13.3.2 BitArray集合的實現
  小結
  練習
第14章 高級排序演算法
  14.1 希爾排序演算法
  14.2 歸併排序演算法
  14.3 堆排序演算法
  14.4 快速排序演算法
    14.4.1 快速排序演算法的描述
    14.4.2 快速排序演算法的代碼
    14.4.3 快速排序演算法的改進
  小結
  練習
第1 5章 用於查找的高級數據結構和演算法
  15.1 AVL樹
    15.1.1 AVL樹的基本原理
    15.1.2 AVL樹的實現
  15.2 紅黑樹
    15.2.1 紅黑樹規則
    15.2.2 紅黑樹的插入
    15.2.3 紅黑樹實現代碼
  15.3 跳躍表
    15.3.1 跳躍表的基本原理

    15.3.2 跳躍表的實現
  小結
  練習
第16章 圖和圖的演算法
  16.1 圖的定義
  16.2 由圖模擬真實世界系統
  16.3 圖類
    16.3.1 頂點的表示
    16.3.2 邊的表示
    16.3.3 圖的構造
    16.3.4 圖的第一個應用:拓撲排序
    16.3.5 拓撲排序演算法
    16.3.6 拓撲排序演算法的實現
  16.4 圖的搜索
    16.4.1 深度優先搜索
    16.4.2 廣度優先搜索
  16.5 最小生成樹
  16.6 查找最短路徑
    16.6.1 加權圖
    16.6.2 確定最短路徑的Dijkstra演算法
    16.6.3 Dijkstra演算法的代碼
  小結
  練習
第17章 高級演算法
  17.1 動態規劃
    17.1.1 動態規劃實例:計算斐波納契數列
    17.1.2 尋找最長公共子串
    17.1.3 背包問題
  17.2 貪心演算法
    17.2.1 貪心演算法實例:找零錢問題
    17.2.2 採用哈夫曼編碼的數據壓縮
    17.2.3 貪心演算法解決背包問題
  小結
  練習
參考文獻
索引

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們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