-
Data Structures
- Arrays
- Strings
- Linked Lists
- Stacks and Queues
- Hash Tables
- Trees
- Binary Trees
- Binary Search Trees
- Trie
- Graphs
- Heaps
-
Algorithms
- Sorting
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Heap Sort
- Counting Sort
- Radix Sort
- Searching
- Linear Search
- Binary Search
- Recursion
- Dynamic Programming
- Greedy Algorithms
- Backtracking
- Divide and Conquer
- Graph Algorithms
- Breadth-First Search (BFS)
- Depth-First Search (DFS)
- Shortest Path Algorithms (Dijkstra, Bellman-Ford, Floyd-Warshall)
- Minimum Spanning Tree (Prim, Kruskal)
- Bit Manipulation
- Sorting
-
System Design
- Design Patterns
- Scalability
- Database Design
- Caching
- Load Balancing
- Microservices
- API Design
-
Programming Language Concepts
- Object-Oriented Programming
- Functional Programming
- Memory Management
- Concurrency and Multithreading
-
Problem-Solving Techniques
- Time and Space Complexity Analysis
- Identifying Patterns
- Breaking Problems into Subproblems
- Optimization Techniques