數據結構與算法(C++語言版)

耿祥義、張躍平

  • 出版商: 清華大學
  • 出版日期: 2025-06-01
  • 售價: $359
  • 語言: 簡體中文
  • ISBN: 7302687447
  • ISBN-13: 9787302687443
  • 相關分類: C++ 程式語言
  • 下單後立即進貨 (約4週~6週)

  • 數據結構與算法(C++語言版)-preview-1
  • 數據結構與算法(C++語言版)-preview-2
  • 數據結構與算法(C++語言版)-preview-3
數據結構與算法(C++語言版)-preview-1

相關主題

商品描述

"本書面向有一定C++語言基礎的讀者,重點講解數據結構和相關算法以及經典算法思想。本書不僅註重講解每種數據結構的特點,還特別註重結合例子講解如何正確使用每種數據結構和相關的算法,強調使用數據結構和算法解決相應的問題。本書精選了一些經典和實用性強的算法思想,並通過解決一些經典的問題體現這些算法思想的精髓。全書共14章,分別是數據結構概述、算法復雜度、遞歸算法、數組、鏈表與list類、順序表與vector類、棧與stack類、隊列與deque類、二叉樹與set類、散列表與unordered_map類、集合與unordered_set類、常用算法與 algorithm庫、圖論和經典算法思想。本書註重體現C++的特色,特別是C++11版本的一些新功能,除前3章外,各章的大部分代碼都體現了C++的特色和優勢。 本書可作為計算機相關專業“數據結構與算法”課程教材,也可作為軟件開發等專業人員的參考用書。 "

目錄大綱

目錄

第1章數據結構概述

1.1邏輯結構

1.2物理結構

1.3算法與結構

1.4C++版本的說明

習題1

第2章算法復雜度

2.1算法

2.2算法的復雜度

2.3常見的復雜度

習題2

第3章遞歸算法

3.1遞歸算法簡介

3.2線性遞歸與非線性遞歸

3.2.1線性遞歸

3.2.2非線性遞歸

3.3問題與子問題

3.4遞歸與疊代

3.5多重遞歸

3.6經典遞歸

3.6.1楊輝三角形

3.6.2老鼠走迷宮

3.6.3漢諾塔

3.7優化遞歸

習題3

第4章數組

4.1數組與參數存值

4.2數組與排序

4.2.1快速排序

4.2.2歸並排序

4.2.3計數排序

4.2.4動態排序

4.3數組的二分查找

4.3.1二分法

4.3.2過濾數組

4.4數組的復制

4.4.1復制數組的函數

4.4.2處理重復數據

4.5數組的比較

4.6數組與洗牌

4.7數組與生命遊戲

習題4

第5章鏈表與list類

5.1鏈表的特點

5.2創建鏈表

5.3遍歷鏈表

5.4查詢與相等

5.5添加節點

5.6刪除節點

5.7更新節點

5.8子鏈表

5.9鏈表的排序

5.10合並、倒置和交換鏈表

5.11編寫簡單的鏈表

習題5

第6章順序表與vector類

6.1順序表的特點

6.2順序表的創建與常用函數

6.3順序表與最長遞增子數組

6.4順序表與篩選法

6.5順序表與全排列

6.6順序表與組合

6.7順序表與記錄

習題6

第7章棧與stack類

7.1棧的特點

7.2棧的創建與獨特函數

7.3棧與回文串

7.4棧與遞歸

7.5棧與括號匹配

7.6棧與深度優先搜索

7.7棧與後綴表達式

習題7

第8章隊列與deque類

8.1隊列的特點

8.2隊列的創建與獨特函數

8.3隊列與回文串

8.4隊列與加密解密

8.5隊列與約瑟夫問題

8.6隊列與廣度搜索

8.7優先隊列

8.8隊列與排隊

習題8

第9章二叉樹與set類

9.1二叉樹的基本概念

9.2遍歷二叉樹

9.3二叉樹的存儲

9.4平衡二叉樹

9.5二叉查詢樹和平衡二叉查詢樹

9.6創建std::set平衡二叉查詢樹

9.7std::set樹的基本操作

9.8std::set樹與數據統計

9.9std::set樹與過濾數據

9.10std::set樹與節目單

習題9

第10章散列表與unordered_map類

10.1散列結構的特點

10.2簡單的散列函數

10.3創建散列表

10.4散列表的基本操作

10.5遍歷散列表

10.6散列表與字符、單詞頻率

10.7散列表與數據緩存

10.8重載hash()函數

10.9std::map類

習題10

第11章集合與unordered_set類

11.1集合的特點

11.2unordered_set類

11.3集合的基本操作

11.4集合與數據過濾

11.5集合與獲得隨機數

11.6重載hash()函數

習題11

第12章常用算法與algorithm庫

12.1Lambda表達式

12.2動態遍歷算法

12.3復制與替換算法

12.4排序算法

12.5查找算法

12.6刪除與清零算法

12.7反轉與旋轉算法

12.8全排列算法

習題12

第13章圖論

13.1無向圖

13.2有向圖

13.3網絡

13.4圖的存儲

13.5圖的遍歷

13.6測試連通圖

13.7最短路徑

13.8最小生成樹

習題13

第14章經典算法思想

14.1貪心算法

14.2動態規劃

14.3回溯算法

習題14

附錄A運算符重載、模板類和std::string

A.1重載關系運算符

A.2類模板的基礎知識

A.3std::string類

參考文獻