Data Structures and Algorithm Analysis in C++ 3rd edition by Clifford Shaffer – Ebook PDF Instant Download/Delivery. 048648582X 978-0486485829
Full download Data Structures and Algorithm Analysis in C++ 3rd edition after payment

Product details:
ISBN 10: 048648582X
ISBN 13: 978-0486485829
Author: Clifford Shaffer
With its focus on creating efficient data structures and algorithms, this comprehensive text helps readers understand how to select or design the tools that will best solve specific problems. It uses Microsoft C++ as the programming language and is suitable for second-year data structure courses and computer science courses in algorithm analysis.
Techniques for representing data are presented within the context of assessing costs and benefits, promoting an understanding of the principles of algorithm analysis and the effects of a chosen physical medium. The text also explores tradeoff issues, familiarizes readers with the most commonly used data structures and their algorithms, and discusses matching appropriate data structures to applications. The author offers explicit coverage of design patterns encountered in the course of programming the book’s basic data structures and algorithms. Numerous examples appear throughout the text.
Data Structures and Algorithm Analysis in C++ 3rd Table of contents:
Preface
Part I: Foundations
-
Introduction
1.1. What is an Algorithm?
1.2. The Role of Data Structures
1.3. Algorithm Design and Analysis
1.4. The Need for Efficiency
1.5. A Sample Problem -
Basic Data Structures
2.1. Arrays
2.2. Linked Lists
2.3. Stacks
2.4. Queues
2.5. Deques
2.6. Application of Stacks and Queues -
Algorithm Analysis
3.1. Performance Measurement
3.2. Big-O Notation
3.3. Best, Worst, and Average Case Analysis
3.4. Asymptotic Behavior
3.5. Recurrences and Divide-and-Conquer
Part II: Advanced Data Structures
4. Trees
4.1. Binary Trees
4.2. Binary Search Trees
4.3. AVL Trees
4.4. Red-Black Trees
4.5. Splay Trees
4.6. Tree Traversal Techniques
4.7. Applications of Trees
-
Heaps
5.1. Introduction to Heaps
5.2. Binary Heaps
5.3. Priority Queues
5.4. Heapsort
5.5. Fibonacci Heaps
5.6. Applications of Heaps -
Hashing
6.1. Hash Tables
6.2. Hash Functions
6.3. Collision Resolution Strategies
6.4. Open Addressing
6.5. Separate Chaining
6.6. Applications of Hashing
Part III: Graph Algorithms
7. Graphs
7.1. Representation of Graphs
7.2. Directed and Undirected Graphs
7.3. Weighted and Unweighted Graphs
7.4. Graph Traversals: Depth-First Search (DFS), Breadth-First Search (BFS)
7.5. Applications of Graphs
-
Shortest Path Algorithms
8.1. Dijkstra’s Algorithm
8.2. Bellman-Ford Algorithm
8.3. All-Pairs Shortest Path Problem
8.4. Floyd-Warshall Algorithm
8.5. A* Algorithm
8.6. Applications of Shortest Path Algorithms -
Minimum Spanning Trees
9.1. Kruskal’s Algorithm
9.2. Prim’s Algorithm
9.3. Applications of Minimum Spanning Trees
Part IV: Sorting and Searching
10. Sorting Algorithms
10.1. Bubble Sort
10.2. Insertion Sort
10.3. Merge Sort
10.4. Quick Sort
10.5. Heap Sort
10.6. Radix Sort
10.7. Comparison of Sorting Algorithms
10.8. External Sorting
- Searching Algorithms
11.1. Linear Search
11.2. Binary Search
11.3. Searching in Unsorted Data
11.4. Binary Search Trees
11.5. Balanced Search Trees
11.6. Applications of Searching
Part V: Advanced Topics
12. Greedy Algorithms
12.1. Introduction to Greedy Methods
12.2. Activity Selection Problem
12.3. Huffman Coding
12.4. Fractional Knapsack Problem
12.5. Applications of Greedy Algorithms
-
Dynamic Programming
13.1. Introduction to Dynamic Programming
13.2. Fibonacci Sequence
13.3. Knapsack Problem
13.4. Matrix Chain Multiplication
13.5. Longest Common Subsequence
13.6. Applications of Dynamic Programming -
Amortized Analysis
14.1. Aggregate Method
14.2. Accounting Method
14.3. Potential Method
14.4. Applications of Amortized Analysis -
String Matching Algorithms
15.1. Naive String Matching
15.2. Knuth-Morris-Pratt (KMP) Algorithm
15.3. Rabin-Karp Algorithm
15.4. Boyer-Moore Algorithm
15.5. Applications of String Matching
Part VI: Miscellaneous Topics
16. Disjoint Sets (Union-Find)
16.1. Disjoint Set Data Structure
16.2. Union by Rank and Path Compression
16.3. Applications of Disjoint Sets
-
Network Flow Algorithms
17.1. Introduction to Network Flows
17.2. Ford-Fulkerson Algorithm
17.3. Edmonds-Karp Algorithm
17.4. Maximum Flow and Minimum Cut Theorem
17.5. Applications of Network Flow -
NP-Completeness and Approximation Algorithms
18.1. P vs NP
18.2. NP-Complete Problems
18.3. Approximation Algorithms
18.4. The Traveling Salesman Problem
18.5. NP-Hard Problems
Part VII: C++ Implementation Details
19. C++ Programming Concepts for Data Structures
19.1. C++ Classes and Objects
19.2. C++ Templates
19.3. Memory Management and Pointers
19.4. Exception Handling in C++
19.5. STL (Standard Template Library) Overview
Appendices
A. Mathematical Foundations
A.1. Big-O Notation and Asymptotic Analysis
A.2. Recurrence Relations
A.3. Probability and Randomized Algorithms
B. Index
People also search for Data Structures and Algorithm Analysis in C++ 3rd:
data structures and algorithm analysis in c++ third edition
data structures and algorithm analysis in c++ 4th edition
data structures and algorithm analysis in c++ 4th edition github
data structures and algorithm analysis in c++ 3rd edition pdf
data structures and algorithm analysis in c++ 3rd edition