Overview of Data Structures and Algorithms covered in SYDE 223 at the University of Waterloo
- Structs
- Classes
- Pointers
- Constructors
- Destructors
- Function Calls
- Allocating/De-allocating Memory
- Memory Leaks
- Node Structure
- Linked List Class (Structure + Functions)
- Function Overloading: Assignment Operator
- Doubly Linked List Class
- Memory for Recursive Functions
- Factorial
- Towers of Hanoi
- Time Complexity Analysis
- Space Complexity Analysis
- Big O Proofs
- Stack Class (Sequential Implementation)
- Stack Class (Linked Implementation)
- Queue Class (Sequential Implementation)
- Queue Class (Linked Implementation)
- Binary Search Tree (BST) Class (Structure + Functions)
- AVL Tree Class (Structure + Functions)
- Max Heap (Structure + Functions)
- Heapify
- Insert
- Delete
- Array Representation of Trees
- Tree Traversal (Iterative + Recursive)
- Breadth-First Search (BFS)
- Depth-First Search (DFS)
- Post Order
- Pre Order
- In Order
- Graph Class (Node Structure)
- Graph Traversal
- Breadth-First Search (BFS)
- Depth-First Search (DFS)
- Pre Order
- Post Order
- In Order
- Dijkstra's Algorithm
- Bubble Sort
- Selection Sort
- Merge Sort
- Quick Sort
- Separate Chaining
- Open Addressing