Skip to content

Latest commit

 

History

History
97 lines (70 loc) · 2.58 KB

notes.md

File metadata and controls

97 lines (70 loc) · 2.58 KB

Notes for data structures and algorithms


Data structures

  • Heap:
    1. Heap data structure is a complete binary tree that satisfies the heap property, where any given node is
    2. always greater than its child node/s and the key of the root node is the largest among all other nodes. This property is also called max heap property
    3. always smaller than the child node/s and the key of the root node is the smallest among all other nodes. This property is also called min heap property.

Algorithms

🔴!! Important !!🔴

Here's a comprehensive list of important data structures and algorithms that are often asked about in job interviews and placements:

Data Structures:

  1. Arrays
  2. Linked Lists
  3. Stacks
  4. Queues
  5. Trees (Binary Trees, Binary Search Trees, AVL Trees, etc.)
  6. Heaps (Binary Heaps, Priority Queues)
  7. Graphs (Directed Graphs, Undirected Graphs, Weighted Graphs)
  8. Hash Tables (HashMaps, HashSets)
  9. Tries (Prefix Trees)
  10. Disjoint Sets (Union-Find)

Algorithms:

  1. Searching Algorithms:

    • Linear Search
    • Binary Search
    • Interpolation Search
    • Depth-First Search (DFS)
    • Breadth-First Search (BFS)
  2. Sorting Algorithms:

    • Bubble Sort
    • Insertion Sort
    • Selection Sort
    • Merge Sort
    • Quick Sort
    • Heap Sort
    • Radix Sort
  3. Graph Algorithms:

    • Depth-First Search (DFS)
    • Breadth-First Search (BFS)
    • Dijkstra's Algorithm
    • Bellman-Ford Algorithm
    • Kruskal's Algorithm (Minimum Spanning Tree)
    • Prim's Algorithm (Minimum Spanning Tree)
    • Floyd-Warshall Algorithm (All-Pairs Shortest Path)
  4. Dynamic Programming:

    • Fibonacci Series
    • Longest Common Subsequence
    • Knapsack Problem
    • Matrix Chain Multiplication
    • Shortest Path Problems
  5. Greedy Algorithms:

    • Fractional Knapsack Problem
    • Activity Selection Problem
    • Huffman Coding
  6. Backtracking:

    • N-Queens Problem
    • Sudoku Solver
    • Subset Sum Problem
  7. String Algorithms:

    • Pattern Searching (Naive, KMP, Rabin-Karp)
    • Longest Common Substring
    • String Reversal
  8. Miscellaneous:

    • Sliding Window Technique
    • Two Pointers Technique
    • Divide and Conquer

It's important to note that this is not an exhaustive list, and the specific algorithms and data structures that may be relevant to a job interview or placement can vary depending on the company and the role you're applying for. It's a good idea to review these topics, understand their principles, and practice implementing them in your preferred programming language.


Feel free to contribute.