-
What you'll learn
- Big O notation
- Time and space complexity
- DSA problem solving
- Stacks and heaps
- Physical and logical structures
- Abstract data types
- Recursion
- Linked Lists
- Stacks
- Queues
- Trees
- Hashing
- AVL trees
- Heaps
- Sorting
-
Requirements
- System with minimum i3 processor or better
- At least 4 GB of RAM
- Working internet connection
- Dedication to learn
-
Course Curriculum
-
Introduction to DSA
- Why we need Data structures and algorithms
- Time based approach
- Concept of Big O and graphs
- Data Structures and Algorithms HB
-
Problem Solving
- Start with a challenge - reverse string
- Reverse a string - solution
- Interview approach to solve a problem
- Interview steps for DSA problems
-
Data Structure Introduction
- Memory process - Stack and Heap
- Physical and logical data structures
- Abstract Data Types
-
Recursion in depth
- Introduction to recursion
- Tracing the recursion tree
- Trace tree assignment
- Trace tree solution
- Types of Recursion
- Complex recursion tree
- What is Factorial
- Factorial program in Python
- Fibonacci series THEORY
- Fibonacci series and its version Python Code
- What is Power Program
- Power Program Python code
- What is a Combination Program
- Combination Program Python code
- Classic Tower of Hanoi problem
- Classic Tower of Hanoi Python code
-
Linked List in depth
- Introduction to Linked List
- Add value in linked list - cases
- Push Append and insert in LinkedList - Python code
- Deletion of linked list THEORY.
- Deletion in linked list Python code
- Delete complete linked list Python code
- Count all nodes in linked list python code
- Reversing a linked list THEORY
- Reversing a linked list Python code
-
Circular Linked List in Depth
- Circular linked list THEORY
- Circular Linked List push Python code
- Traverse a circular linked list Python code
- Deletion in circular linked list Python code
- count nodes in circular linked list Python code
- convert linked list to circular linked list Python code
-
Doubly Linked List in Depth
- Theory for doubly linked list
- Doubly linked list push Python code
- Insert After in doubly linked list Python code
- add to last in doubly linked list Python code
- Traverse a doubly linked list Python code
- Deleting a node in doubly linked list Python code
-
Stack and Queue
- Stack - Push and Pop operation THEORY
- Stack operations with Python code
- Queue concept THEORY
- Queue implementation in Python code
- Circular queue THEORY
- Circular queue Python code
-
Binary Search Tree
- What is Binary Search tree and creation THEORY update
- Insertion and Deletion in BST THEORY
- In Order Traversal of BST THEORY
- Pre Order traversal in BST THEORY
- Post order traversal in BST THEORY
- Creating a Binary Search tree Python code
- search a key in BST Python code
- Insertion in BST Python code
- deletion of key in BST Python code
- in order preorder and post order traversal in BST Python code
-
Hashing
- What is Hashing THEORY
- Hash chaining with linked list
- Linear Hash Shifing
- Square hash shifting
-
AVL Tree
- What is AVL tree and height
- Finding balance factor
- Left Left and Right Right Rotation in AVL Tree
- LR and RL rotation with 1 trick
- Creating a AVL tree - Important
- Deletion in AVL Tree.
-
HEAP
- Heap - Max and min Heap
- Insertion and deletion in HEAP
-
Sorting algorithms
- Categories of sorts
- Selection sort - Theory
- Selection sort - Python Code
- Bubble Sort - Theory
- Bubble Sort - Python Code
- Insertion sort - Theory
- Insertion sort - Python Code
- Quick Sort - Theory
- Quick Sort - Theory part 2
- Quick Sort - Python Code
- Counting Sort - Theory
- Merge Sort Theory
- Merge sort Python code
- Counting Sort - Python Code