DS-ALGO-CPLUS.AP1.E0T
Data Structure and Algorithm with C++
Intermediate Self-paced · 1 year access
01 / Lessons & labs
See exactly what you will learn and practice
Lessons
14 Interactive Lessons · 128 topics01 Preface 5 topics +
- Purpose/Goals
- Approach
- Summary of the Most Significant Changes in the Fourth Edition
- Overview
- Exercises
02 Programming: A General Overview 10 topics +
- What’s This Course About?
- Mathematics Review
- A Brief Introduction to Recursion
- C++ Classes
- C++ Details
- Templates
- Using Matrices
- Summary
- Exercises
- References
03 Algorithm Analysis 7 topics +
- Mathematical Background
- Model
- What to Analyze
- Running-Time Calculations
- Summary
- Exercises
- References
04 Lists, Stacks, and Queues 9 topics +
- Abstract Data Types (ADTs)
- The List ADT
- vector and list in the STL
- Implementation of vector
- Implementation of list
- The Stack ADT
- The Queue ADT
- Summary
- Exercises
05 Trees 11 topics +
- Preliminaries
- Binary Trees
- The Search Tree ADT—Binary Search Trees
- AVL Trees
- Splay Trees
- Tree Traversals (Revisited)
- B-Trees
- Sets and Maps in the Standard Library
- Summary
- Exercises
- References
06 Hashing 12 topics +
- General Idea
- Hash Function
- Separate Chaining
- Hash Tables without Linked Lists
- Rehashing
- Hash Tables in the Standard Library
- Hash Tables with Worst-Case O(1) Access
- Universal Hashing
- Extendible Hashing
- Summary
- Exercises
- References
07 Priority Queues (Heaps) 12 topics +
- Model
- Simple Implementations
- Binary Heap
- Applications of Priority Queues
- d-Heaps
- Leftist Heaps
- Skew Heaps
- Binomial Queues
- Priority Queues in the Standard Library
- Summary
- Exercises
- References
08 Sorting 15 topics +
- Preliminaries
- Insertion Sort
- A Lower Bound for Simple Sorting Algorithms
- Shellsort
- Heapsort
- Mergesort
- Quicksort
- A General Lower Bound for Sorting
- Decision-Tree Lower Bounds for Selection Problems
- Adversary Lower Bounds
- Linear-Time Sorts: Bucket Sort and Radix Sort
- External Sorting
- Summary
- Exercises
- References
09 The Disjoint Sets Class 10 topics +
- Equivalence Relations
- The Dynamic Equivalence Problem
- Basic Data Structure
- Smart Union Algorithms
- Path Compression
- Worst Case for Union-by-Rank and Path Compression
- An Application
- Summary
- Exercises
- References
10 Graph Algorithms 10 topics +
- Definitions
- Topological Sort
- Shortest-Path Algorithms
- Network Flow Problems
- Minimum Spanning Tree
- Applications of Depth-First Search
- Introduction to NP-Completeness
- Summary
- Exercises
- References
11 Algorithm Design Techniques 8 topics +
- Greedy Algorithms
- Divide and Conquer
- Dynamic Programming
- Randomized Algorithms
- Backtracking Algorithms
- Summary
- Exercises
- References
12 Amortized Analysis 8 topics +
- An Unrelated Puzzle
- Binomial Queues
- Skew Heaps
- Fibonacci Heaps
- Splay Trees
- Summary
- Exercises
- References
13 Advanced Data Structures and Implementation 9 topics +
- Top-Down Splay Trees
- Red-Black Trees
- Treaps
- Suffix Arrays and Suffix Trees
- k-d Trees
- Pairing Heaps
- Summary
- Exercises
- References
14 Appendix A: Separate Compilation of Class Templates 2 topics +
- Everything in the Header
- Explicit Instantiation
02 / FAQs
Questions before you start
Prepare for Data Structure and Algorithm with C++
One-time payment. Full access for 1 year. Start with a free trial if you want to look around first.