Skip to content

Latest commit

 

History

History
63 lines (57 loc) · 3.07 KB

File metadata and controls

63 lines (57 loc) · 3.07 KB

Data Structures and Algorithms in Python

Generic Data Structures

Filename Description
hash_table Hash Table Implementation
heap Heap Implementation
linked_list Linked-List and Sorted Linked-List Implementations
queues_fifos Queue/FIFO (Linear & Circular) Implementation
sparse_array Sparse Array Implementation[TODO]
triangular_array Triangular Array Implementation

Graph Alogrithms

Filename Description
graph_utils Helper Utilities for Creating Graphs
bfs_hops_from BFS and Find Hops (Distance) from Node
mst_kruskals Minimum Spanning Tree (MST) using Kruskals's Algorithm
mst_prims Minimum Spanning Tree (MST) using Prim's Algorithm
shortest_path Find Shortest Paths using Label Setting

Tree Algorithms

Filename Description
tree_utils Helper Tree Utilities for Making/Printing/Checking Binary Trees
sorted_binary_tree Find/Insert/Remove Nodes from Sorted Binary Tree
tree_traversals Pre/Post/In-Order, and BFS, Tree Traversals

Sorting Algorithms

Filename Description
sort_check Helper Utilities for Checking Sorting implementations
bubble_sort Bubble Sort
counting_sort Counting Sort
heap_sort Heap Sort
insertion_sort Insertion Sort
merge_sort Merge Sort
quick_sort Quick Sort
selection_sort Selection Sort

Numerical Algorithms

Filename Description
fib_fact Fibonacci, Factorial
gcd_lcm GCM, LCM
num_integration Numerical Integration using Trapezoidal Approximation
prime_factors Prime Factorization
primes Finding and Testing Primes

Specific Problems

Filename Description
anagrams Find all Word Anagrams
binary_search Perform Binary Search on a Sorted List
combinations Find all possible subsets of given size where order does not matter
max_combinations Find Combinations of a subset that sums up maximally to a target
tower_hanoi Tower of Hanoi (Moving Discs between Pegs)
train_stacks_sort Sort the carriages of a train using a set of shunting tracks