Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching, 3/e (Paperback)
暫譯: C++ 演算法(第 3 版):基礎、資料結構、排序、搜尋,1-4 部分(平裝本)

Robert Sedgewick

買這商品的人也買了...

商品描述


Description

For this version of Robert Sedgewick's popular textbook on algorithms and data structures, Christopher Van Wyk and Robert Sedgewick have developed new C++ implementations that both express the presented methods in a concise and direct manner, and also provide students with the practical means to test them on real applications.
This particular book, Parts 1-4, represents a substantial update of the first half of Sedgewick's complete work. It provides extensive coverage of fundamental data structures and algorithms for sorting, searching, and related applications. The update features expanded coverage of arrays, linked lists, strings, trees, and other basic data structures, and greater emphasis on abstract data types (ADTs), modular programming, object-oriented programming, and C++ classes than in previous editions. It includes over 100 algorithms for sorting, selection, priority queue ADT implementations, and symbol table ADT (searching) implementations, and over 1,000 new exercises to help students learn the properties of algorithms.

Back to Top


Table Of Contents

FUNDAMENTALS.

1. Introduction.
Algorithms.
A Sample Problem-Connectivity.
Union-Find Algorithms.
Perspective.
Summary of Topics.

2. Principles of Algorithm Analysis.
Implementation and Empirical Analysis.
Analysis of Algorithms.
Growth of Functions.
Big-Oh Notation.
Basic Recurrences.
Examples of Algorithm Analysis.
Guarantees, Predictions, and Limitations.

DATA STRUCTURES.

3. Elementary Data Structures.
Building Blocks.
Arrays.
Linked Lists.
Elementary List Processing.
Memory Allocation for Lists.
Strings.
Compound Data Structures.

4. Abstract Data Types.
Abstract Objects and Collections of Objects.
Pushdown Stack ADT.
Examples of Stack ADT Clients.
Stack ADT Implementations.
Creation of a New ADT.
FIFO Queues and Generalized Queues.
Duplicate and Index Items.
First-Class ADTs.
Application-Based ADT Example.
Perspective.

5. Recursion and Trees.
Recursive Algorithms.
Divide and Conquer.
Dynamic Programming.
Trees.
Mathematical Properties of Trees.
Tree Traversal.
Recursive Binary-Tree Algorithms.
Graph Traversal.
Perspective.

SORTING.

6. Elementary Sorting Methods.
Rules of the Game.
Selection Sort.
Insertion Sort.
Bubble Sort.
Performance Characteristics of Elementary Sorts.
Shellsort.
Sorting Other Types of Data.
Index and Pointer Sorting.
Sorting Linked Lists.
Key-Indexed Counting.

7. Quicksort.
The Basic Algorithm.
Performance Characteristics of Quicksort.
Stack Size.
Small Subfiles.
Median-of-Three Partitioning.
Duplicate Keys.
Strings and Vectors.
Selection.

8. Merging and Mergesort.
Two-Way Merging.
Abstract In-Place Merge.
Top-Down Mergesort.
Improvements to the Basic Algorithm.
Bottom-Up Mergesort.
Performance Characteristics of Mergesort.
Linked-List Implementations of Mergesort.
Recursion Revisited.

9. Priority Queues and Heapsort.
Elementary Implementations.
Heap Data Structure.
Algorithms on Heaps.
Heapsort.
Priority-Queue ADT.
Priority Queues for Index Items.
Binomial Queues.

10. Radix Sorting.
Bits, Bytes, and Words.
Binary Quicksort.
MSD Radix Sort.
Three-Way Radix Quicksort.
LSD Radix Sort.
Performance Characteristics of Radix Sorts.
Sublinear-Time Sorts.

11. Special-Purpose Sorts.
Batcher's Odd-Even Mergesort.
Sorting Networks.
External Sorting.
Sort-Merge Implementations.
Parallel Sort/Merge.

SEARCHING.

12. Symbol Tables and BSTs.
Symbol-Table Abstract Data Type.
Key-Indexed Search.
Sequential Search.
Binary Search.
Binary Search Trees (BSTs).
Performance Characteristics of BSTs.
Index Implementations with Symbol Tables.
Insertion at the Root in BSTs.
BST Implementations of Other ADT Functions.

13. Balanced Trees.
Randomized BSTs.
Splay BSTs.
Top-Down 2-3-4 Trees.
Red-Black Trees.
Skip Lists.
Performance Characteristics.
Separate Chaining.
Linear Probing.
Double Hashing.
Dynamic Hash Tables.
Perspective.

15. Radix Search.
Digital Search Trees.
Tries.
Patricia Tries.
Multiway Tries and TSTs.
Text String Index Applications.

16. External Searching.
Rules of the Game.
Indexed Sequential Access.
B Trees.
Extendible Hashing.
Perspective.

Index. 0201350882T04062001


Back to Top

商品描述(中文翻譯)

描述
對於這個版本的 Robert Sedgewick 受歡迎的演算法與資料結構教科書,Christopher Van Wyk 和 Robert Sedgewick 開發了新的 C++ 實作,這些實作以簡潔直接的方式表達所呈現的方法,並且為學生提供在實際應用中測試這些方法的實用手段。這本書,第 1-4 部分, 代表了 Sedgewick 完整作品前半部分的重大更新。它廣泛涵蓋了排序、搜尋及相關應用的基本資料結構和演算法。此次更新擴展了對陣列、鏈結串列、字串、樹及其他基本資料結構的涵蓋,並比之前的版本更強調抽象資料類型 (ADTs)、模組化程式設計、物件導向程式設計及 C++ 類別。書中包含了超過 100 種排序、選擇、優先佇列 ADT 實作及符號表 ADT (搜尋) 實作的演算法,並提供了超過 1,000 道新習題,幫助學生學習演算法的特性。

目錄
**基本原理**
1. 介紹
演算法
一個範例問題 - 連通性
聯集-查找演算法
觀點
主題摘要

2. 演算法分析原則
實作與實證分析
演算法分析
函數增長
大 O 符號
基本遞迴
演算法分析範例
保證、預測與限制

**資料結構**
3. 基本資料結構
建構模組
陣列
鏈結串列
基本串列處理
串列的記憶體配置
字串
複合資料結構

4. 抽象資料類型
抽象物件與物件集合
推入堆疊 ADT
堆疊 ADT 客戶端範例
堆疊 ADT 實作
新 ADT 的創建
先進先出佇列與一般化佇列
重複與索引項目
一級 ADTs
基於應用的 ADT 範例
觀點

5. 遞迴與樹
遞迴演算法
分而治之
動態規劃

樹的數學性質
樹的遍歷
遞迴二元樹演算法
圖的遍歷
觀點

**排序**
6. 基本排序方法
遊戲規則
選擇排序
插入排序
冒泡排序
基本排序的性能特徵
貝殼排序
排序其他類型的資料
索引與指標排序
排序鏈結串列
鍵索引計數

7. 快速排序
基本演算法
快速排序的性能特徵
堆疊大小
小子檔案
三數中位數分割
重複鍵
字串與向量
選擇

8. 合併與合併排序
雙向合併
抽象原地合併
自上而下的合併排序
基本演算法的改進
自下而上的合併排序
合併排序的性能特徵
合併排序的鏈結串列實作
遞迴重訪

9. 優先佇列與堆排序
基本實作
堆資料結構
堆上的演算法
堆排序
優先佇列 ADT
用於索引項目的優先佇列
二項佇列

10. 基數排序
位元、位元組與字
二元快速排序
MSD 基數排序
三路基數快速排序
LSD 基數排序
基數排序的性能特徵
次線性時間排序

11. 特殊用途排序
Batcher 的奇偶合併排序
排序網路
外部排序
排序-合併實作
平行排序/合併

**搜尋**
12. 符號表與二元搜尋樹 (BST)
符號表抽象資料類型
鍵索引搜尋
順序搜尋
二元搜尋
二元搜尋樹 (BST)
BST 的性能特徵
使用符號表的索引實作
在 BST 中的根插入
其他 ADT 函數的 BST 實作

13. 平衡樹
隨機化 BST
Splay BST
自上而下的 2-3-4 樹
紅黑樹
跳躍串列
性能特徵
獨立鏈接
線性探查
雙重雜湊
動態雜湊表
觀點

15. 基數搜尋
數位搜尋樹
Trie
Patricia Trie
多路 Trie 和 TST
文本字串索引應用

16. 外部搜尋
遊戲規則
索引順序存取
B 樹
可擴展雜湊
觀點

索引 0201350882T04062001

最後瀏覽商品 (20)