Learning Data Structure and Algorithms
[
maths
coding
]
Last Updated: 14 Apr 2021
Introduction
Top Algorithms and sub-tpoics
- Sort algorithms
- Merge sort
- Quick sort
- Bucket sort
- Heap Sort
- Counting sort
- Searching algorithms
- Binary search
- Depth/Breadth first search
- Hashing
- Dynamic programming
- Exponentiation by squaring
- String Matching and Parsing
- KMP algorithm (string matching)
- Regular expression (string parsing)
- Primality testing algorithms
- Sieve of Eratosthenes (deterministic)
- For any number n, incrementally testing up to sqrt(n) (deterministic)
- Fermat primality test (nondeterministic)
- Miller–Rabin primality test (nondeterministic)
Important data strucures
- Arrays and lists
- 2D arrays
- Strings
- Linked list
- Stack
- Queue
- Hash table & hash set
- Heap
- Graphs
- Binary tree
- Binary search tree
- Trie
Other topics
- Time & space complexity
- Line sweep technique
References
- How to improve DSA skills
- Top 7 algorithms and data structures
- Sites to practice coding:
- GeeksforGeeks
- binarysearch
- LeetCode
- HackerEarth
- HackerRank
- To learn dynamic programming
To-Do
- Setup a git repo with my code solutions and explanations if possible.
Originally published on: 14 Apr 2021