Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gmal1/algoholics-anon

algorithms and data structures
https://github.com/gmal1/algoholics-anon

algorithms data-structures javascript kotlin python searching-algorithms sorting-algorithms trees typescript

Last synced: 2 months ago
JSON representation

algorithms and data structures

Awesome Lists containing this project

README

        

[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/gmal1/algoholics-anon/issues)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/gmal1/algoholics-anon/pulls)

## Algorithms
### Searching:
* binary search ([TypeScript](../master/algorithms/search/binarySearch.ts) / [JavaScript](../master/algorithms/search/binarySearch.js))
* quick select ([TypeScript](../master/algorithms/search/quickSelect.ts))
* shortest path ([JavaScript](../master/algorithms/search/shortestPath.js))

### Sorting:
* bubble sort ([JavaScript](../master/algorithms/sorts/BubbleSort.js))
* counting sort ([JavaScript](../master/algorithms/sorts/CountingSort.js) / [TypeScript](../master/algorithms/sorts/CountingSort.ts))
* heap sort ([JavaScript](../master/algorithms/sorts/HeapSort.js))
* insertion sort ([JavaScript](../master/algorithms/sorts/InsertionSort.js))
* Knuth shuffle ([JavaScript](../master/algorithms/sorts/knuthShuffle.js))
* merge sort ([JavaScript](../master/algorithms/sorts/MergeSort.js))
* merge sort in place ([JavaScript](../master/algorithms/sorts/mergeSortInPlace.js))
* quicksort ([JavaScript](../master/algorithms/sorts/QuickSort.js) / [TypeScript](../master/algorithms/sorts/QuickSort.ts) / [Python](../master/algorithms/sorts/QuickSort.py))
* radix sort ([TypeScript](../master/algorithms/sorts/RadixSort.ts))
* selection sort ([JavaScript](../master/algorithms/sorts/SelectionSort.js) / [TypeScript](../master/algorithms/sorts/SelectionSort.ts))
* shell sort ([JavaScript](../master/algorithms/sorts/ShellSort.js))
* wiggle sort ([JavaScript](../master/algorithms/sorts/WiggleSort.js))

### Tree traversal:
* in-order traversal ([JavaScript](../master/algorithms/treeTraversal/inorderTraversal.js))
* post-order traversal ([JavaScript](../master/algorithms/treeTraversal/postorderTraversal.js))
* pre-order traversal ([JavaScript](../master/algorithms/treeTraversal/preorderTraversal.js))

## Data structures
* binary search tree ([JavaScript](../master/data-structures/BST.js))
* bloom filter ([JavaScript](../master/data-structures/BloomFilter.js))
* deque ([JavaScript](../master/data-structures/Deque.js) / [TypeScript](../master/data-structures/Deque.ts))
* doubly linked list ([JavaScript](../master/data-structures/DoublyLinkedList.js))
* graph ([JavaScript](../master/data-structures/Graph.js) / [TypeScript](../master/data-structures/Graph.ts))
* hash table ([JavaScript](../master/data-structures/HashTable.js))
* linked list ([JavaScript](../master/data-structures/LinkedList.js) / [Python](../master/python/data-structures/linked_list.py))
* LRU cache ([JavaScript](../master/data-structures/LRUcache.js))
* max heap ([JavaScript](../master/data-structures/MaxHeap.js) / [TypeScript](../master/data-structures/MaxHeap.ts) / [Python](../master/python/data-structures/heaps.py))
* min heap ([TypeScript](../master/data-structures/MinHeap.ts) / [Python](../master/python/data-structures/heaps.py))
* randomized queue ([TypeScript](../master/data-structures/RandomizedQueue.ts))
* red-black tree ([Python](../master/python/data-structures/ll_red_black.py))
* stack ([Python](../master/python/cracking-coding/stacks_queues/stack.py))
* trie ([JavaScript](../master/data-structures/trie.js))

## Interview questions
* animal shelter ([Python](../master/python/cracking-coding/stacks_queues/animal_shelter.py))
* apple stocks ([JavaScript](../master/interview-questions/maxProfitCalc.js))
* balanced BST ([JavaScript](../master/interview-questions/balancedBST.js))
* balanced parens / https://leetcode.com/problems/valid-parentheses/ ([JavaScript](../master/interview-questions/balancedParens.js))
* balanced parens with wildcard ([JavaScript](../master/interview-questions/balancedParensWithWildCard.js))
* baseball scoring ([JavaScript](../master/interview-questions/baseballScoring.js))
* bikes ([JavaScript](../master/interview-questions/bikes.js))
* bucket fill ([JavaScript](../master/interview-questions/colorPixels.js))
* check if given string is interleaving of two strings ([JavaScript](../master/interview-questions/isInterleaved.js))
* check permutation ([Python](../master/python/cracking-coding/array_strings/is_perm.py))
* climb steps ([JavaScript](..//master/interview-questions/countWays.js))
* clone linked list with random pointer / https://leetcode.com/problems/copy-list-with-random-pointer/ ([JavaScript](../master/interview-questions/cloneLLwithRandomPtr.js))
* construct a BST of minimal height / https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/ ([JavaScript](../master/interview-questions/minHeightBST.js))
* decode string ([JavaScript](../master/interview-questions/decodeString.js))
* decode permutations ([JavaScript](../master/interview-questions/decodeWays.js))
* deep clone graph / https://leetcode.com/problems/clone-graph/ ([JavaScript](../master/interview-questions/deepCloneGraph.js))
* delete linked list node ([Python](../master/python/cracking-coding/linked_list/del_node.py))
* find longest increasing route in graph ([JavaScript](../master/interview-questions/longestIncreasingInGraph.js))
* find shortest route in directed graph ([JavaScript](../master/interview-questions/findRoute.js))
* find sum of elements between two indices in integer array ([JavaScript](../master/interview-questions/rangeSumQuery.js))
* generate all permutations ([JavaScript](../master/interview-questions/generateAllPerms.js))
* generate valid parens pairs / https://leetcode.com/problems/generate-parentheses/ ([JavaScript](../master/interview-questions/generateParens.js))
* hat / Google interview question ([JavaScript](../master/interview-questions/hat.js))
* is unique ([Python](../master/python/cracking-coding/array_strings/is_unique.py))
* isomorphic strings / https://leetcode.com/problems/isomorphic-strings/ ([JavaScript](../master/interview-questions/isomorphicStrings.js))
* kth to last ([Python](../master/python/cracking-coding/linked_list/kth_to_last.py))
* longest substring with at most k distinct characters ([JavaScript](../master/interview-questions/longestSubstringKDistinct.js))
* longest substring with no repeating characters ([JavaScript](../master/interview-questions/longestSubStrNoRepeat.js) / [TypeScript](../master/interview-questions/longestSubStrNoRepeat.ts))
* loop detection ([Python](../master/python/cracking-coding/linked_list/loop_detection.py))
* match words to pattern ([JavaScript](../master/interview-questions/matchPattern.js))
* most common word ([JavaScript](../master/interview-questions/mostCommonWord.js) / [TypeScript](../master/interview-questions/mostCommonWord.ts))
* move zeroes to the right ([JavaScript](../master/interview-questions/moveZeroesRight.js))
* n paths / no backtracking ([JavaScript](../master/interview-questions/nPathsNoBacktracking.js))
* number of islands ([JavaScript](../master/interview-questions/numberOfIslands.js))
* one away ([Python](../master/python/cracking-coding/array_strings/one_away.py))
* palindrome permutation ([Python](../master/python/cracking-coding/array_strings/palin_perm.py))
* partition linked list ([Python](../master/python/cracking-coding/linked_list/partition.py))
* peek from iterator ([JavaScript](../master/interview-questions/peekFromIterator.js))
* pig latin translator ([JavaScript](../master/interview-questions/pigLatin.js))
* push to end ([JavaScript](../master/interview-questions/pushToEnd.js))
* queue via stacks ([Python](../master/python/cracking-coding/stacks_queues/queue_w_stacks.py))
* reverse linked list ([JavaScript](../master/interview-questions/reverseLinkedList.js))
* remove dups in linked list ([Python](../master/python/cracking-coding/linked_list/remove_dups.py))
* rotate matrix ([Python](../master/python/cracking-coding/array_strings/rotate_matrix.py))
* set of stacks ([Python](../master/python/cracking-coding/stacks_queues/set_of_stacks.py))
* shortest path ([JavaScript](../master/interview-questions/shortestPath.js))
* sort stack ([Python](../master/python/cracking-coding/stacks_queues/sort_stack.py))
* spiral matrix ([JavaScript](../master/interview-questions/spiralMatrix.js))
* stack min ([Python](../master/python/cracking-coding/stacks_queues/stack_min.py))
* string compression ([Python](../master/python/cracking-coding/array_strings/str_compression.py))
* string rotation ([Python](../master/python/cracking-coding/array_strings/string_rotation.py))
* subset sums ([JavaScript](../master/interview-questions/subsetSums.js))
* sum lists ([Python](../master/python/cracking-coding/linked_list/sum_digits.py))
* synchronize ([JavaScript](../master/interview-questions/synchronize.js))
* task scheduler ([JavaScript](../master/interview-questions/taskScheduler.js))
* three stacks with one array ([Python](../master/python/cracking-coding/stacks_queues/three_in_one.py))
* Toeplitz matrix ([JavaScript](../master/interview-questions/toeplitzMatrix.js))
* trapping rainwater ([JavaScript](../master/interview-questions/trappingRainwater.js) / [TypeScript](../master/interview-questions/trappingRainwater.ts))
* two sum ([JavaScript](../master/interview-questions/twoSum.js) / [TypeScript](../master/interview-questions/twoSum.ts))
* unbounded knapsack ([JavaScript](../master/interview-questions/unboundedKnapsack.js))
* urlify ([Python](../master/python/cracking-coding/array_strings/urlify.py))
* word search II / https://leetcode.com/problems/word-search-ii/ ([JavaScript](../master/interview-questions/wordSearchTwo.js))
* wrap text ([Kotlin](../master/interview-questions/wrapText.kt))
* zero matrix ([Python](../master/python/cracking-coding/array_strings/zero_matrix.py))