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

演算法與數據結構--基於現代C++的方法及實踐(高等學校電子信息類專業平台課系列教材)

  • 作者:編者:王文偉|責編:胡艷
  • 出版社:武漢大學
  • ISBN:9787307242791
  • 出版日期:2024/02/01
  • 裝幀:平裝
  • 頁數:325
人民幣:RMB 58 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本教材以統一的視角較為全面闡述演算法與數據結構的基本概念、理論方法和實現技術,數據結構方面主要討論線性表、棧與隊列、串、數組、廣義表、樹與二叉樹、圖等基本數據結構的概念與定義以及編程實現技術,演算法方面重點討論迭代、遞歸、貪心、分治、動態規劃等演算法設計思想以及遍歷、查找、排序等操作的多種經典演算法實現。全書內容豐富,理論方法與設計實踐並重,章節安排合理,結構清楚,敘述循序漸進、深入淺出,既包含實用的典型示例,也提供具有獨特視角的鮮活案例,編程實現遵循面向對象、泛型編程和RAII原則等現代程序設計方法,程序嚴謹規範,全部調試通過。
    本書適合作為大學本科信息技術相關專業的程序設計、數據結構與演算法課程的教材,也可作為從事電腦軟體開發和應用研究人員的參考書。

作者介紹
編者:王文偉|責編:胡艷

目錄
第1章  緒論
  1.1  數據結構的基本概念
    1.1.1  數據類型與數據結構
    1.1.2  數據的邏輯結構
    1.1.3  數據的存儲結構
    1.1.4  數據的操作
  1.2  演算法與演算法分析
    1.2.1  演算法
    1.2.2  演算法設計的要求
    1.2.3  演算法效率分析
  習題1
第2章  C++編程基礎與數據集合類型
  2.1  現代C++及面向對象編程概述
    2.1.1  面向對象編程與數據結構
    2.1.2  現代C++的新特性概述
  2.2  C++語言編程基礎
    2.2.1  C++程序的編輯、編譯和運行
    2.2.2  C++的數據類型與流程式控制制
    2.2.3  C++的標準輸入流和輸出流
    2.2.4  類與對象
    2.2.5  類的繼承
    2.2.6  抽象函數與抽象類
    2.2.7  多態性
    2.2.8  異常處理
    2.2.9  C++模板與泛型編程
    2.2.10  函數對象與Lambda表達式
    2.2.11  C++程序的基本組織方法
  2.3  C++語言數據集合類型
    2.3.1  數組
    2.3.2  線性表類
    2.3.3  棧類
    2.3.4  隊列類
    2.3.5  關聯容器map類
  習題2
第3章  遍歷、迭代與遞歸
  3.1  高級編程語言中的循環結構與遍歷操作
    3.1.1  C++中的循環結構
    3.1.2  C++中遍曆數據集合的常用範式
  3.2  迭代
    3.2.1  迭代的基本概念
    3.2.2  迭代演算法
  3.3  遞歸
    3.3.1  遞歸演算法
    3.3.2  遞歸與迭代的比較
    3.3.3  遞歸數據結構
  習題3
第4章  字元串
  4.1  字元串的概念及類型定義
    4.1.1  字元串的定義及其抽象數據類型
    4.1.2  C++中的字元串類

  4.2  字元串的順序存儲結構及其實現
    4.2.1  字元串的順序存儲結構的定義
    4.2.2  字元串的基本操作的實現
    4.2.3  字元串的其他操作的實現
  4.3  字元串的鏈式存儲結構及其實現
    4.3.1  字元串的鏈式存儲結構的定義
    4.3.2  字元串的鏈式存儲結構基本操作的實現
  習題4
第5章  排序演算法
  5.1  數據序列及其排序
    5.1.1  排序操作相關基本概念
    5.1.2  C++標準庫中的排序演算法
  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
第6章  線性表
  6.1  線性表的概念及類型定義
    6.1.1  抽象數據類型層面的線性表
    6.1.2  C++中的線性表類
  6.2  線性表的順序存儲結構
    6.2.1  順序表的類型定義
    6.2.2  順序表的操作
    6.2.3  順序表操作的演算法分析
  6.3  線性表的鏈式存儲結構
    6.3.1  線性鏈表的結點結構
    6.3.2  單向鏈表
    6.3.3  單向循環鏈表
    6.3.4  雙向鏈表
  習題6
第7章  棧與隊列
  7.1  棧的概念及類型定義
    7.1.1  棧的基本概念
    7.1.2  抽象數據類型層面的棧
    7.1.3  C++中的棧類
  7.2  棧的存儲結構及實現
    7.2.1  棧的順序存儲結構及操作實現
    7.2.2  棧的鏈式存儲結構及操作實現
    7.2.3  棧的應用舉例
  7.3  隊列的概念及類型定義
    7.3.1  隊列的基本概念
    7.3.2  抽象數據類型層面的隊列
    7.3.3  C++中的隊列類

  7.4  隊列的存儲結構及實現
    7.4.1  隊列的順序存儲結構及操作實現
    7.4.2  隊列的鏈式存儲結構及操作實現
    7.4.3  隊列的應用舉例
  習題7
第8章  數組與廣義表
  8.1  數組
    8.1.1  一維數組
    8.1.2  二維數組
    8.1.3  在C++中自定義矩陣類
  8.2  稀疏矩陣
    8.2.1  稀疏矩陣的三元組
    8.2.2  稀疏矩陣三元組集合的順序存儲結構
    8.2.3  稀疏矩陣三元組集合的鏈式存儲結構
  8.3  廣義表
    8.3.1  廣義表的概念及定義
    8.3.2  廣義表的特性和操作
    8.3.3  廣義表的圖形表示
    8.3.4  廣義表的存儲結構
  習題8
第9章  樹與二叉樹
  9.1  樹的定義與基本術語
    9.1.1  樹的定義和表示
    9.1.2  樹的基本術語
    9.1.3  樹的基本操作
  9.2  二叉樹的定義與實現
    9.2.1  二叉樹的定義
    9.2.2  二叉樹的性質
    9.2.3  二叉樹的存儲結構
    9.2.4  二叉樹類的定義
  9.3  二叉樹的遍歷
    9.3.1  二叉樹遍歷的過程
    9.3.2  二叉樹遍歷的遞歸演算法
    9.3.3  二叉樹遍歷的非遞歸演算法
    9.3.4  按層次遍歷二叉樹
  9.4  構建二叉樹
    9.4.1  建立鏈式存儲結構的完全二叉樹
    9.4.2  根據廣義表表示式建立二叉樹
    9.4.3  根據先根和中根次序遍歷序列建立二叉樹
  9.5  用二叉樹表示樹與森林
  習題9
第10章  圖
  10.1  圖的定義與基本術語
    10.1.1  圖的定義
    10.1.2  結點與邊的關係
    10.1.3  子圖與生成子圖
    10.1.4  路徑、迴路及連通性
    10.1.5  圖的基本操作
  10.2  圖的存儲結構
    10.2.1  圖結構的鄰接矩陣表示法

    10.2.2  圖結構的鄰接表表示法
  10.3  圖的遍歷
    10.3.1  基於深度優先策略的遍歷
    10.3.2  基於廣度優先策略的遍歷
  10.4  最小代價生成樹
    10.4.1  樹和森林與圖的關係
    10.4.2  圖的生成樹
    10.4.3  圖的最小代價生成樹
  10.5  最短路徑
  習題10
第11章  查找演算法
  11.1  查找與查找表
    11.1.1  查找操作相關基本概念
    11.1.2  C++內建數據結構中的查找操作
  11.2  線性表查找技術
    11.2.1  順序查找
    11.2.2  二分查找
    1 1.2.3  分塊查找
  11.3  二叉查找樹及其查找演算法
    11.3.1  二叉查找樹的定義
    11.3.2  在二叉查找樹中進行查找
    11.3.3  在二叉查找樹中插入新元素
    11.3.4  二叉排序樹的構建
  11.4  哈希查找
    11.4.1  哈希查找的基本思想
    11.4.2  哈希函數的設計
    11.4.3  衝突解決方法
  習題11
參考文獻

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