Pythonic Data Structures and Algorithms
Minimal and clean examples of data structures and algorithms.
List of Implementations:
.
├── array
│ ├── garage.py
│ ├── house_robber.py
│ ├── longest_increasing_subsequence.py
│ ├── longest_non_repeat.py
│ ├── plus_one.py
│ └── wiggle_sort.py
├── backtrack
│ ├── anagram.py
│ ├── combination_sum.py
│ ├── palindrome_partitioning.py
│ ├── permute.py
│ ├── permute_unique.py
│ ├── subsets.py
│ └── subsets_unique.py
├── bfs
│ └── shortest_distance_from_all_buildings.py
├── divide-and-conquer
│ ├── expression-add-operators.py
│ └── the-skyline-problem.py
├── dp
│ ├── max_subarray.py
│ └── word_break.py
├── graph
│ ├── find_path.py
│ ├── graph.py
│ └── traversal.py
├── hashtable
│ └── hashtable.py
├── linkedlist
│ ├── first_cyclic_node.py
│ ├── is_palindrome.py
│ ├── kth_to_last.py
│ ├── linkedlist.py
│ └── remove_duplicates.py
├── matrix
│ ├── bomb_enemy.py
│ ├── matrix_rotation.txt
│ └── pacific_atlantic.py
├── out.txt
├── queue
│ ├── __init__.py
│ ├── max_sliding_window.py
│ ├── moving_average.py
│ ├── queue.py
│ ├── reconstruct_queue.py
│ └── zigzagiterator.py
├── README.md
├── search
│ ├── binary_search.py
│ ├── count_elem.py
│ ├── first_occurance.py
│ └── last_occurance.py
├── sorting
│ ├── insertion_sort.py
│ ├── merge_sort.py
│ ├── quick_sort.py
│ ├── selection_sort.py
│ └── sort_colors.py
├── stack
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── longest_abs_path.py
│ ├── __pycache__
│ │ ├── __init__.cpython-35.pyc
│ │ └── stack.cpython-35.pyc
│ ├── stack.py
│ └── stack.pyc
├── string
│ ├── decode_string.py
│ ├── encode_decode.py
│ ├── license_number.py
│ ├── missing_ranges.py
│ ├── rabin_karp.py
│ ├── reverse_string.py
│ ├── reverse_vowel.py
│ ├── reverse_words.py
│ └── word_squares.py
├── tests
│ └── test_stack.py
├── tree
│ ├── array2bst.py
│ ├── bintree2list.py
│ ├── bst_closest_value.py
│ ├── BSTIterator.py
│ ├── deepest_left.py
│ ├── invert_tree.py
│ ├── is_balanced.py
│ ├── is_subtree.py
│ ├── is_symmetric.py
│ ├── longest_consecutive.py
│ ├── max_height.py
│ ├── max_path_sum.py
│ ├── min_height.py
│ ├── predecessor.py
│ ├── same_tree.py
│ ├── successor.py
│ └── tree.py
└── trie
├── add_and_search.py
└── trie.py