Skip to content

Cheat sheet for Algorithms & Data Structures

License

Notifications You must be signed in to change notification settings

mmgalushka/algo-cheat-sheet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithms & Data Structures

Project License

This is a cheat sheet for Algorithms and Data Structures. To download it use the following command:

~$ wget https://github.com/mmgalushka/algo-cheat-sheet/raw/main/algo-n-ds.pdf

What it is for?

Many of us working in the software development industry had grilling technical interviews, where we had been asked to solve various technical problems. The majority of these problems have well-defined algorithmic solutions. The challenge is to identify the relevant algorithm, apply it to the specific problem, and compute the complexity of the obtained solution. This cheat sheet provides a summary of the most common algorithms and data structures you might use during an interview (or maybe also in your work).

What it in this cheat sheet?

The brief information about:

  • Complexity & Running Time
    • Notations
    • Complexity
      • P
      • NP
      • EXP
      • R
    • Running Time Estimation
  • Data Structures
    • Overview
      • Array / Matrix
      • Stack
      • Queue
      • Linked List
      • Heap
      • Set
      • Disjoint-Set
      • Tree
      • Hash Map
      • Graph
    • Disjoint-Set
    • Heap
    • Tree
      • Binary-tree
      • AVL-tree
      • Red and Black-tree
      • Rotation (for AVL & RB trees)
      • B-tree
        • Hash Tables
        • Graph
    • Traversal
      • Tree
        • Depth-First Search
        • Breadth-First Search
      • Graph
        • Depth-First Search
        • Breadth-First Search
    • Sort
      • Comparison
        • Insert/Bubble
        • Quick
        • Merge
        • Heap
        • B-tree
      • Non -Comparison
        • Counting
        • Radix
        • Bucket
  • Algorithms
    • Shortest Path
    • Dijkstra Algorithm (G,W,s)
    • Bellmen-Ford Algorithm (G,W,s)
    • (Min/Max) Spanning Tree
      • Kruskal
      • Prim
    • Dynamic Programming

How to use it?

This project contains just two files: algo-n-ds.docx and algo-n-ds.pdf, The algo-n-ds.docx is an editable source, feel free to modify it and correct any inconsistencies. The algo-n-ds.pdf is the PDF version of the cheat sheet, download it and place some were close, so it is convenient to use 😉.

Note: Due to the compatibility issues algo-n-ds.docx contains some distorted color and formulas definitions compare to the original Word version. Because of this, you might observe some misalignments between algo-n-ds.docx and algo-n-ds.pdf files.

Links