Data Structures
- Introduction to Data Structure
- Types of Data Structure
- Abstract Data Type
Complexity Analysis
- Complexity Analysis
- Time complexity
- Space complexity
- Big O Notation
- Iteration
- Recursion
- Exercises and Summary
Arrays and Strings
- Arrays
- Arrays Types
- Strings
- Iterations
- Exercises and Summary
Sorting Algorithms
- Bubble Sort
- Insertion Sort
- Selection Sort
- Quick Sort
- Merge Sort
- Heap Sort
- Count Sort
- Bucket Sort
- Exercises and Summary
Searching Algorithms
- Introduction
- Linear Search and its Implementation
- Binary Search and its Implementation
- Ternary Search and its Implementation
- Jump Search and its Implementation
- Exponential Search and its Implementation
- Exercises and Summary
String Algorithms
- Introduction
- Count Vowels
- Reverse a String
- Reverse Words
- Rotations
- Remove Duplicates
- Most Repeated Char
- Sentence Capitalization
- Exercises and Summary
Lists
- Linked List
- Singly Linked List
- Doubly Linked List
- Circular Linked List
- Exercises and Summary
Stacks
- Introduction
- What are stacks
- Working with Stacks
- Building Stack using an Array
- Exercises and Summary
Queues
- What are queues
- Working with Queues
- Building Queues using an Array
- Implementing Queues using a Stack
- Priority Queues with different approaches
- Exercises and Summary
Hash
- What are Hash Tables
- Working with Hash Tables
- Hash Functions
- Collision and Chaining
- Building a Hash Table
- Exercises and Summary