Data Structures and Algorithm

Curated By

Avatar of Cerin-Sara

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