
Explore the Big O concept, analyze time and space complexity, and prep for coding interviews with worst-case and constant space scenarios using practical Python examples.
Explore queues as a linear, first-in, first-out data structure with end-appends and front-removals, using a dequeue library or two stacks to implement efficient enqueue and dequeue operations.
Explore heaps as complete binary trees stored in arrays, with max-heap and min-heap behavior; learn inserting by bubbling up, deleting by swapping with the last and heapifying down.
Explore graphs, including undirected and directed forms, with adjacency matrix and adjacency list representations, and learn DFS, memory representations, and search techniques.
This course will start from the very basics of algorithms and data structures and cover all the advanced data structures. We will discuss all the concepts that you need to learn and dive deeper into popular coding questions. You do not need any pre-requisite knowledge in data structures before taking this course. So, if you are a newbie or an advanced programmer looking to refresh your knowledge, this is the course for you. Moreover, it is in Python and the solutions to all the coding problems are given in Python, which makes it more interesting and gives you the opportunity to learn Python as well.
The highlight will be the coding problems that will be explained as well as given as exercise in this course. You will learn the following concepts in this course:
1. Big O
2. Arrays
o Basics
o Traverse an array in reverse
o Traverse from both ends
3. Linked List
o Implementation
o Add and delete nodes
4. Stack
o Implementation
5. Queues
o Implementation
6. Hash Maps
o Implementation
o Hash Functions
7. Binary Trees
o Traversal
o Top to Bottom
o Bottom to Top
8. Binary Search Tree
o Implementation
9. Heap
o Implementation
10. Graphs
o Basics
o DFS
o BFS
11. Tries
o Implementation
The following algorithms will be included in these topics:
- Searching
- Sorting
- Recursion
- Tree Traversal
- Breadth First Search
- Depth First Search
- Dynamic Programming