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