Skip to content

ixig/DataStructs_Algos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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