Data Structures and Algorithm
A computer program is a collection of instructions to perform a specific task. For this, a computer program may need to store data, retrieve data, and perform computations on the data.
A data structure is a named location that can be used to store and organize data. And, an algorithm is a collection of steps to solve a particular problem. Learning data structures and algorithms allow us to write efficient and optimized computer programs.
PREREQUISITES 🧳
Proficiency in any programming language is a must as it will ease most of your problems when it comes to implementation. Be it C++, Java, Python, or any language of your choice.
TOPICS TO LEARN 📖
- Asymptotic Analysis
- Arrays and Lists
- 2D Arrays
- Functions
- Strings
- Linked List
- Stack
- Queue
- Hash Table and Hash Set
- Heap
- Divide and Conquer Algorithm
- Graph
- BFS
- DFS
- Prim’s Algorithm
- Dijkstra’s Algorithm
- Binary Tree
- Binary Search Tree
- Trie
- Searching
- Backtracking
- Rat in a maze
- N Queen Problem
- Sudoku Problem
- Greedy Algorithm
- Fractional Knapsack
- Huffman coding
- Sorting Techniques
- Heap sort
- Merge sort
- Quick sort
- Bubble sort
Online Courses 💻
Tutorials 💡
Blogs 📝
Books 📚
- Introduction to Algorithms by Thomas H Cormen
- Algorithms by Robert Sedgewick & Kevin Wayne
- The Algorithm Design Manual by Steve S. Skiena
- Algorithm Design by Kleinberg & Tardos
- Data Structures and Algorithms. Aho, Ullman & Hopcroft
- Classic Data Structure by Debasis Samanta
Youtube Channels
✌️ That’s it. You’re done!! ⛳ Update all your works in github. Happy Learning