DS-ALGO-CPLUS.AP1
Data Structure and Algorithm with C++
Master your coding skills with C++ programming for Data Structures. Get ready to ace those technical rounds of job interviews.
- Practice in 36 Hands-On Labs — nothing to install
- 14 Interactive Lessons and 128 topics mapped to the official exam objectives
- 180 Practice Test Questions
Intermediate Self-paced · 1 year access
36 Hands-On LiveLabs
Practice real IT tasks in guided environments.
- Real environments
- Auto-graded
- No installation
01 / Skills you'll get
What you will be able to do
- Implementing various data structures including arrays, linked lists, stacks, queues, trees, graphs, and hash tables
- Optimizing algorithms through time and space complexities
- Enhanced problem-solving skills
- Sorting, searching, and computing via algorithms
- Enhanced C++ programming skills
- Using the Standard Template Library (STL)
- Gain confidence to answer coding questions during technical interviews
- Applying data structures and algorithms for analytical thinking.
Target Career Roles
- Software Engineer
- Web Developer
- Application Developer
- Data Scientist
- Systems Analyst
- Quality Assurance Engineer
- Game Developer
- Database Administrator
- Machine Learning Engineer
- Computer Programmer.
02 / 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 · 2 LiveLab +
- What’s This Course About?
- Mathematics Review
- A Brief Introduction to Recursion
- C++ Classes
- C++ Details
- Templates
- Using Matrices
- Summary
- Exercises
- References
2 LiveLab in this lesson — see the labs panel →
03 Algorithm Analysis 7 topics · 3 LiveLab +
- Mathematical Background
- Model
- What to Analyze
- Running-Time Calculations
- Summary
- Exercises
- References
3 LiveLab in this lesson — see the labs panel →
04 Lists, Stacks, and Queues 9 topics · 7 LiveLab +
- 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
7 LiveLab in this lesson — see the labs panel →
05 Trees 11 topics · 11 LiveLab +
- 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
11 LiveLab in this lesson — see the labs panel →
06 Hashing 12 topics · 4 LiveLab +
- 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
4 LiveLab in this lesson — see the labs panel →
07 Priority Queues (Heaps) 12 topics · 2 LiveLab +
- 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
2 LiveLab in this lesson — see the labs panel →
08 Sorting 15 topics · 3 LiveLab +
- 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
3 LiveLab in this lesson — see the labs panel →
09 The Disjoint Sets Class 10 topics · 1 LiveLab +
- 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
1 LiveLab in this lesson — see the labs panel →
10 Graph Algorithms 10 topics · 3 LiveLab +
- Definitions
- Topological Sort
- Shortest-Path Algorithms
- Network Flow Problems
- Minimum Spanning Tree
- Applications of Depth-First Search
- Introduction to NP-Completeness
- Summary
- Exercises
- References
3 LiveLab in this lesson — see the labs panel →
11 Algorithm Design Techniques 8 topics · 1 LiveLab +
- Greedy Algorithms
- Divide and Conquer
- Dynamic Programming
- Randomized Algorithms
- Backtracking Algorithms
- Summary
- Exercises
- References
1 LiveLab in this lesson — see the labs panel →
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
Hands-On Labs Our edge
36 LiveLabs- Using Recursive Function
- Resizing a Matrix
- Implementing the Bisection Method
- Finding Minimum Subsequence Sum
- Implementing Binary Search
- Implementing the STL find Routine
- Working with Lists
- Converting an Infix Expression to Postfix
- Checking for Balancing Brackets
- Reversing a Singly Linked List
- Implementing a Stack Class
- Implementing a Dequeue using a Linked List
- Implementing a Depth-First Traversal in the Child-Sibling Tree
- Converting a Tree into Graph-Assembler Instructions
- Using the findMax Function
- Generating an AVL Tree
- Inserting a Node into an AVL Tree
- Implementing a Splay Tree
- Working with Binary Tree
- Implementing a B-Tree
- Inserting Keys into the B-Tree
- Implementing the map Class
- Implementing a Splay Tree
- Counting Number of Collisions
- Implementing Hopscotch Hashing
- Implementing Cuckoo Hashing
- Implementing Extendible Hashing
- Merging Two Max Heaps
- Implementing Insert Operation in a Binomial Queue
- Implementing Insertion Sort using STL
- Implementing Mergesort without Recursion
- Implementing the Selection Sort Algorithm
- Printing a Maze
- Implementing a Topological Sorting Algorithm
- Solving a Single Source Shortest Path Problem
- Implementing Union Function in Kruskal's Algorithm
- Solving the Longest Common Subsequence Problem
03 / FAQs
Questions before you start
What are the implications of Data structure and Algorithms in C++?+
Is C++ good for handling data structure and algorithms?+
How to choose the right data structure for C++?+
How will the Data structure and Algorithms (DSA) in C++ course benefit me?+
Which is the best DSA course on uCertify?+
Your Roadmap To Success
Enhance your problem-solving skills to ace those job interviews.
- 1 year of full access
- 36 LiveLab included
- Certificate of completion