Skip to content

jonhuth/dsa

Repository files navigation

Data Structures and Algorithms

This repository holds the solutions to problems I have solved and is organized by concept or data structure utilized. I have also included resources I found helpful during my interviewing journey.

Problem Categories

Strings

Arrays

  • Matrices

Linked Lists (TODO)

Queues

Stacks

Hash Tables

Graphs

Trees

  • Binary Search Trees
  • Heaps
  • Tries

Recursion

Dynamic Programming

Bit Manipulation

Math

  • Fast Fourier Transform (and inverse)

Sliding Window

Greedy Algorithms (TODO)

Union Find

Sorting

Searching

  • Binary Search

Resources

  1. Books
    1. Cracking the Coding Interview
    2. Grokking Algorithms
    3. Algorithm Design Manual
    4. Elements of Programming Interviews in Python
  2. Blogs
    1. Haseeb Qureshi Blog
  3. Tech/Software Engineering Related News
    1. Hacker News
  4. Podcasts
    1. Software Engineering Daily
  5. Practice Sites
    1. LeetCode
    2. HackerRank
  6. Mock Interview Sites
    1. Pramp.com
    2. Interviewing.io
  7. Job Boards
    1. LinkedIn Jobs
    2. AngelList

Credit

Much credit must be given to Haseeb Qureshi and his blogpost on how to break into the tech industry. This was a major inspiration in my starting of this guide!

Todo

  1. Convex Hull
  2. Update merge & merge sort
  3. Shortest Path in Graphs
    1. Bellman Ford
    2. A*
  4. 3 way quick sort (djikstra approach) - used to speed up quicksort when there are duplicate keys
  5. standardize doc strings (low priority)
    1. problem statement
    2. tests (doctests) (understanding check)
    3. basic algorithm description
    4. pseudocode (if necessary)
    5. complexity analysis
  6. build out more robust testing of algorithms (medium priority)
  7. build out test suite to run all tests at once
  8. subfolder in each category
    1. {algo_name}_test.py
  9. remove duplicate classes and use imports
    1. Tree classes (make TreeNode.py)

About

Data Structures and Algorithms

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages