- Notifications
You must be signed in to change notification settings - Fork9
Algorithm-archive/Learn-Data_Structure-Algorithm-by-Python
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
You need to have basic understanding of the Python programming language to proceed with the codes from this repository.Python 3 is used for the implementation of the data structures and Algorithms
- Introduction to Python
- Data Structure
- Linked List
- Stack
- Queue
- Binary Search Tree (BST)
- Heap
- Hash Table
- Disjoint Set Union (Union Find)
- Trie
- Suffix Array
- Segment Tree
- Binary Indexed Tree (BIT)
- Heavy Light Decomposition
- Sorting
- Selection Sort
- Bubble Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Bucket Sort
- Counting Sort
- Heap Sort
- Radix Sort
Graph Algorithms
- Graph Representation
- Breadth First Search (BFS)
- Depth First Search (DFS)
- Topological Sort
- Strongly Connected Components (SCC)
- Minimum Spanning Tree (MST)
- All Pairs Shortest Path (Floyd Warshall's Algorithm)
- Single Source Shortest Path Algorithm
- Djkastra's Algorithm
- Bellman Ford Algorithm
- Directed Acyclic Graph
- Bipartite Matching
- Articulation Point, Bridge
- Euler Tour/Path
- Hamiltonian Cycle
- Stable Marriage Problem
- Chinese Postman Problem
- 2-satisfiability
- Flow Algorithms
- Maximum Flow
- Minimum Cut
- Min-Cost Max Flow
- Maximum Bipartite Matching
- Vertex Cover
Dynamic Programming
- Rod Cutting
- Maximum Sum (1D, 2D)
- Coin Change
- Longest Common Subsequence
- Longest Increasing Subsequence
- Matrix Multiplication
- Edit Distance (Levenshtein distance)
- 0/1 Knapsack
- Travelling Salesman Problem
- Optimal Binary Search Tree
- Greedy Algorithms
- Activity Selection/Task Scheduling
- Huffman Coding
- Knapsack Problem (Fractional Knapsack)
- String Algorithms
- Rabin-Karp Algorithm
- Knuth-Morris-Pratt Algorithm
- Z Algorithm
- Aho-Korasick Algorithm
- Manachers Algorithm
- Boyr-Moore Algorithm
- Number Theory
- Greatest Common Divisor (GCD)
- Longest Common Multiplier (LCM)
- Euler Totient (Phi)
- Primality Testing
- Prime finding(Sieve of Eratosthenes)
- Prime factorization
- Factorial
- Fibonacci
- Counting, Permutation, combination
- Exponentiation
- Big Mod
- Euclid, Extended euclid
- Josephus Problem
- Farey Sequence
- Catalan numbers
- Burnside's lemma/circular permutation
- Modular inverse
- Probability
- Chinese Remainder Theorem
- Gaussian Elimination method
- Dilworth's Theorem
- Matrix Exponentiation
- Computational Geometry
- Pick's Theorem
- Convex hull
- Line Intersection
- Point in a polygon
- Area of a polygon
- Line Sweeping
- Polygon intersection
- Closest Pair
Game Theory
- Take Away Game
- Nim's Game
- Sprague-grundy Number
Others
- BackTracking
- N-Queen's Problem
- Tower of Hanoi Problem
- BackTracking
Algorithms in plain English: time complexity and Big-O notation
Install Python 3.x in your machinefrom here (if it's already not installed) and add it to your environment path so that it is accessible in terminal commands.
Then you can run a Python file like this:
pythonfile.py
or
python3file.py
About
Data Structure and Algorithm explanations with Implementations by Python
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published