Python Algorithms and Data Structures This project contains some practices of algorithms and data structures in Python. Data Structures Queue Queue Priority Queue Stack Stack Linked List Single Linked List Double Linked List Tree Binary Tree Binary Search Tree Graph Graph Heap Max Binary Heap Hash Table Hash Table Algorithms Math Karatsuba Mutiplication Fibonacci Number Sorting Merge Sort Bubble Sort Selection Sort Insertion Sort Quick Sort Heap Sort Counting Sort Radix Sort Search Linear Search Binary Search Graph Depth-First Search (DFS) Breadth-First Search (BFS) Kruskal's Algorithm Prim's Algorithm Dijkstra's Algorithm Bellman-Ford Algorithm Topological Sorting Uncategorized Hanoi Tower Coin Change 0/1 Knapsack Problem Enumerate Permutations