algoholics-anon icon indicating copy to clipboard operation
algoholics-anon copied to clipboard

algorithms and data structures

contributions welcome PRs Welcome

Algorithms

Searching:

  • binary search (TypeScript / JavaScript)
  • quick select (TypeScript)
  • shortest path (JavaScript)

Sorting:

  • bubble sort (JavaScript)
  • counting sort (JavaScript / TypeScript)
  • heap sort (JavaScript)
  • insertion sort (JavaScript)
  • Knuth shuffle (JavaScript)
  • merge sort (JavaScript)
  • merge sort in place (JavaScript)
  • quicksort (JavaScript / TypeScript / Python)
  • radix sort (TypeScript)
  • selection sort (JavaScript / TypeScript)
  • shell sort (JavaScript)
  • wiggle sort (JavaScript)

Tree traversal:

  • in-order traversal (JavaScript)
  • post-order traversal (JavaScript)
  • pre-order traversal (JavaScript)

Data structures

  • binary search tree (JavaScript)
  • bloom filter (JavaScript)
  • deque (JavaScript / TypeScript)
  • doubly linked list (JavaScript)
  • graph (JavaScript / TypeScript)
  • hash table (JavaScript)
  • linked list (JavaScript / Python)
  • LRU cache (JavaScript)
  • max heap (JavaScript / TypeScript / Python)
  • min heap (TypeScript / Python)
  • randomized queue (TypeScript)
  • red-black tree (Python)
  • stack (Python)
  • trie (JavaScript)

Interview questions

  • animal shelter (Python)
  • apple stocks (JavaScript)
  • balanced BST (JavaScript)
  • balanced parens / https://leetcode.com/problems/valid-parentheses/ (JavaScript)
  • balanced parens with wildcard (JavaScript)
  • baseball scoring (JavaScript)
  • bikes (JavaScript)
  • bucket fill (JavaScript)
  • check if given string is interleaving of two strings (JavaScript)
  • check permutation (Python)
  • climb steps (JavaScript)
  • clone linked list with random pointer / https://leetcode.com/problems/copy-list-with-random-pointer/ (JavaScript)
  • construct a BST of minimal height / https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/ (JavaScript)
  • decode string (JavaScript)
  • decode permutations (JavaScript)
  • deep clone graph / https://leetcode.com/problems/clone-graph/ (JavaScript)
  • delete linked list node (Python)
  • find longest increasing route in graph (JavaScript)
  • find shortest route in directed graph (JavaScript)
  • find sum of elements between two indices in integer array (JavaScript)
  • generate all permutations (JavaScript)
  • generate valid parens pairs / https://leetcode.com/problems/generate-parentheses/ (JavaScript)
  • hat / Google interview question (JavaScript)
  • is unique (Python)
  • isomorphic strings / https://leetcode.com/problems/isomorphic-strings/ (JavaScript)
  • kth to last (Python)
  • longest substring with at most k distinct characters (JavaScript)
  • longest substring with no repeating characters (JavaScript / TypeScript)
  • loop detection (Python)
  • match words to pattern (JavaScript)
  • most common word (JavaScript / TypeScript)
  • move zeroes to the right (JavaScript)
  • n paths / no backtracking (JavaScript)
  • number of islands (JavaScript)
  • one away (Python)
  • palindrome permutation (Python)
  • partition linked list (Python)
  • peek from iterator (JavaScript)
  • pig latin translator (JavaScript)
  • push to end (JavaScript)
  • queue via stacks (Python)
  • reverse linked list (JavaScript)
  • remove dups in linked list (Python)
  • rotate matrix (Python)
  • set of stacks (Python)
  • shortest path (JavaScript)
  • sort stack (Python)
  • spiral matrix (JavaScript)
  • stack min (Python)
  • string compression (Python)
  • string rotation (Python)
  • subset sums (JavaScript)
  • sum lists (Python)
  • synchronize (JavaScript)
  • task scheduler (JavaScript)
  • three stacks with one array (Python)
  • Toeplitz matrix (JavaScript)
  • trapping rainwater (JavaScript / TypeScript)
  • two sum (JavaScript / TypeScript)
  • unbounded knapsack (JavaScript)
  • urlify (Python)
  • word search II / https://leetcode.com/problems/word-search-ii/ (JavaScript)
  • wrap text (Kotlin)
  • zero matrix (Python)