This repo is a toolkit and personal reference for data structure and algorithms in Python3. Ideally the content covers >90% of data structure and algorithm questions. This repo includes:
- Python3 critical libraries summarized into useful subsets.
- Python3 Data structure implementations.
- Patterns and useful templates for common categories of DSA questions. ๐ [In Progress]
- List of resource links updated periodically.
- deque
- Counter
- defaultdict
- OrderedDict
- namedTuple
- lru_cache
- heappush
- heappop
- heapify
- heapsort
- merge
- nlargest
- nsmallest
- accumulate
- chain
- chain.from_iterable
- pairwise
- starmap
- product
- permutations
- combinations
- combinations_with_replacement
- ceil
- comb
- floor
- perm
- inf
- compile
- search
- match
- fullmatch
- split
- findall
- sub
- escape
- ascii_letters
- ascii_lowercase
- ascii_uppercase
- digits
- deque
- doubly linked-list
- linked-list
- queue
- stack
- tree
- backtracking
- bitwise manipulation
- cyclic sort
- dynamic programming
- fast and slow pointers
- greedy algorithms
- hash maps
- in-place reversal of a linked list
- k-way merge
- lru-cache
- merge intervals
- modified binary search
- sliding window
- stacks
- subsets
- top-k-elements
- topological sort
- tree breath first search
- tree depth first search
- tries
- two heaps
- two pointers
- union find
https://github.com/tmcarmichael/Python-DSA-Toolkit/blob/main/py-dsa-resources/resources.md