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

數據結構--C++實現(第3版微課版普通高等教育一流本科專業建設系列教材)

  • 作者:編者:沈俊//李曉強//朱能軍//張景嶠//鄭宇|責編:孫露露//王會明
  • 出版社:科學
  • ISBN:9787030773128
  • 出版日期:2023/12/01
  • 裝幀:平裝
  • 頁數:316
人民幣:RMB 63 元      售價:
放入購物車
加入收藏夾

內容大鋼
    數據結構是電腦專業教學計劃中的一門核心課程,也是信息管理、通信電子、自動控制等與電腦技術關係密切的專業的一門基礎課程。從事與電腦科學與技術相關的工作,尤其是電腦應用領域的開發和研製工作,必須具備堅實的數據結構基礎。本書對C++語言進行簡單介紹,然後介紹線性表、棧、隊列、數組、廣義表、樹、圖等數據結構,並介紹查找和排序的方法。全書用C++語言描述並實現所有數據結構的類和程序,並附有習題,便於教學。
    本書是高等院校數據結構課程的教材,可供電腦專業本科生使用,也可供從事電腦開發和應用的工程技術人員閱讀、參考。

作者介紹
編者:沈俊//李曉強//朱能軍//張景嶠//鄭宇|責編:孫露露//王會明

目錄
第1章  緒論
  1.1  程序的定義
  1.2  數據結構的基本概念
    1.2.1  數據結構實例
    1.2.2  數據結構的定義
  1.3  演算法性能與複雜度
    1.3.1  演算法的定義
    1.3.2  演算法的性能標準
    1.3.3  演算法複雜度
  習題1
第2章  C++程序設計語言簡介
  2.1  C++程序設計語言基礎
    2.1.1  程序結構
    2.1.2  數據聲明和作用域
    2.1.3  輸入/輸出
    2.1.4  函數
    2.1.5  參數傳遞
    2.1.6  函數名重載
    2.1.7  動態內存分配
    2.1.8  結構與聯合
  2.2  類與對象的基本概念
    2.2.1  類與對象
    2.2.2  消息與合作
    2.2.3  多態性
  2.3  面向對象的程序設計方法
  2.4  C++類與對象
  2.5  構造函數和析構函數
  2.6  工具函數
  2.7  繼承
  2.8  this指針的使用
  2.9  虛函數、多態性以及動態聯編
    2.9.1  虛函數和多態性
    2.9.2  動態聯編
  2.10  類模板
  習題2
第3章  線性表
  3.1  線性表的定義
  3.2  線性表的順序存儲
    3.2.1  順序表類模板的定義
    3.2.2  順序表相關演算法的複雜度分析
  3.3  線性表的鏈式存儲
    3.3.1  單鏈表
    3.3.2  雙向循環鏈表
    3.3.3  靜態鏈表
  3.4  線性表的應用
    3.4.1  集合的表示和相關運算的實現
    3.4.2  一元多項式表示和相關運算的實現
  習題3
第4章  棧、隊列和遞歸
  4.1  棧

    4.1.1  順序棧
    4.1.2  鏈式棧
    4.1.3  棧的應用—— 表達式求值
  4.2  隊列
    4.2.1  順序隊列
    4.2.2  鏈式隊列
    4.2.3  隊列的應用——車廂調度
  4.3  遞歸
    4.3.1  遞歸的概念
    4.3.2  遞歸過程與遞歸工作棧
    4.3.3  消除遞歸
  習題4
第5章  字元串、數組和廣義表
  5.1  字元串
    5.1.1  字元串的基本概念
    5.1.2  常用的C++字元串函數
    5.1.3  串類的定義及其實現
    5.1.4  模式匹配
  5.2  數組
    5.2.1  數組的基本概念
    5.2.2  數組的順序存儲結構
  5.3  稀疏矩陣
    5.3.1  非零元素的三元組定義
    5.3.2  三元組順序表
    5.3.3  十字鏈表
  5.4  廣義表
    5.4.1  廣義表的定義
    5.4.2  廣義表的存儲結構
    5.4.3  n元多項式的表示
  習題5
第6章  樹和森林
  6.1  樹的概念
    6.1.1  樹的定義
    6.1.2  樹的術語
    6.1.3  樹的表示形式
    6.1.4  樹的基本操作
  6.2  二叉樹
    6.2.1  二叉樹的定義
    6.2.2  二叉樹的性質
    6.2.3  二叉樹的基本操作
  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.6.1  堆
    6.6.2  哈夫曼樹
  6.7  樹和森林的實現
    6.7.1  樹的存儲結構
    6.7.2  樹、森林和二叉樹的轉換
    6.7.3  樹的遍歷
    6.7.4  森林的遍歷
  6.8  等價類及其表示
    6.8.1  等價關係與等價類
    6.8.2  並查集
  習題6
第7章  圖
  7.1  圖的基本概念
    7.1.1  圖的定義
    7.1.2  圖的術語
    7.1.3  圖的基本操作
  7.2  圖的存儲結構
    7.2.1  鄰接矩陣
    7.2.2  鄰接表
    7.2.3  鄰接多重表
    7.2.4  十字鏈表
  7.3  圖的遍歷與連通性
    7.3.1  深度優先遍歷
    7.3.2  廣度優先遍歷
    7.3.3  連通分量
  7.4  最小生成樹
    7.4.1  克魯斯卡爾演算法
    7.4.2  普里姆演算法
  7.5  最短路徑
    7.5.1  弧上權值為非負情形的單源點最短路徑問題
    7.5.2  弧上權值為任意值的單源點最短路徑問題
    7.5.3  所有頂點之間的最短路徑
  7.6  活動網路
    7.6.1  用頂點表示活動的網路
    7.6.2  用邊表示活動的網路
  習題7
第8章  查找
  8.1  基本概念
  8.2  順序表
    8.2.1  順序表的查找
    8.2.2  有序表的折半查找
    8.2.3  有序表的其他查找
  8.3  索引順序表和倒排索引表
    8.3.1  索引順序表
    8.3.2  倒排索引表
  8.4  二叉排序樹
    8.4.1  二叉排序樹定義

    8.4.2  二叉排序樹的查找
    8.4.3  二叉排序樹的插入
    8.4.4  二叉排序樹的刪除
    8.4.5  二叉排序樹查找的性能分析
  8.5  平衡二叉樹
    8.5.1  平衡二叉樹的定義
    8.5.2  平衡旋轉
    8.5.3  平衡二叉樹中插入結點
    8.5.4  平衡二叉樹中刪除結點
  8.6  B-樹
    8.6.1  動態的m路查找樹
    8.6.2  B-樹的定義
    8.6.3  B-樹的插入
    8.6.4  B-樹的刪除
    8.6.5  B+樹
  8.7  散列表
    8.7.1  散列表的基本概念
    8.7.2  散列函數
    8.7.3  處理衝突的閉散列方法——開地址方法
    8.7.4  閉散列方法的實現
    8.7.5  處理衝突的開散列方法——鏈地址法
    8.7.6  散列表分析
  習題8
第9章  排序
  9.1  基礎知識
  9.2  交換排序
    9.2.1  冒泡排序
    9.2.2  快速排序
  9.3  插入排序
    9.3.1  直接插入排序
    9.3.2  折半插入排序
    9.3.3  希爾排序
  9.4  選擇排序
    9.4.1  簡單選擇排序
    9.4.2  錦標賽排序
    9.4.3  堆排序
  9.5  歸併排序
    9.5.1  歸併
    9.5.2  兩路歸併排序
    9.5.3  遞歸的歸併排序
  9.6  基數排序
    9.6.1  多關鍵字排序
    9.6.2  鏈式基數排序
  9.7  各種排序方法的選擇和使用
  習題9
參考文獻