Skip to content

Commit 0faadf0

Browse files
committed
Base README file added
0 parents  commit 0faadf0

File tree

1 file changed

+156
-0
lines changed

1 file changed

+156
-0
lines changed

README.md

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
# Learn Data Structure and Algorithms by PHP
2+
3+
> You need to have basic understanding of the PHP programming language to proceed with the codes from this repository.
4+
5+
6+
7+
## Table of Contents
8+
- [Introduction to PHP](#introduction)
9+
- [Data Structure](./Data%20Structure/)
10+
- Linked List
11+
- Stack
12+
- Queue
13+
- Binary Search Tree (BST)
14+
- Heap
15+
- Hash Table
16+
- Disjoint Set Union (Union Find)
17+
- Trie
18+
- Suffix Array
19+
- Segment Tree
20+
- Binary Indexed Tree (BIT)
21+
- Heavy Light Decomposition
22+
23+
24+
- [Searching](./Searching/)
25+
- Linear Search
26+
- Binary Search
27+
- Ternary Search
28+
29+
30+
- [Sorting](./Sorting/)
31+
- Selection Sort
32+
- Bubble Sort
33+
- Insertion Sort
34+
- Merge Sort
35+
- Quick Sort
36+
- Bucket Sort
37+
- Counting Sort
38+
- Heap Sort
39+
- Radix Sort
40+
41+
42+
- Graph Algorithms
43+
- Graph Representation
44+
- Breadth First Search (BFS)
45+
- Depth First Search (DFS)
46+
- Topological Sort
47+
- Strongly Connected Components (SCC)
48+
- Minimum Spanning Tree (MST)
49+
- All Pairs Shortest Path (Floyd Warshall's Algorithm)
50+
- Single Source Shortest Path Algorithm
51+
- Djkastra's Algorithm
52+
- Bellman Ford Algorithm
53+
- Directed Acyclic Graph
54+
- Bipartite Matching
55+
- Articulation Point, Bridge
56+
- Euler Tour/Path
57+
- Hamiltonian Cycle
58+
- Stable Marriage Problem
59+
- Chinese Postman Problem
60+
- 2-satisfiability
61+
- Flow Algorithms
62+
- Maximum Flow
63+
- Minimum Cut
64+
- Min-Cost Max Flow
65+
- Maximum Bipartite Matching
66+
- Vertex Cover
67+
68+
- Dynamic Programming
69+
- Rod Cutting
70+
- Maximum Sum (1D, 2D)
71+
- Coin Change
72+
- Longest Common Subsequence
73+
- Longest Increasing Subsequence
74+
- Matrix Multiplication
75+
- Edit Distance (Levenshtein distance)
76+
- 0/1 Knapsack
77+
- Travelling Salesman Problem
78+
- Optimal Binary Search Tree
79+
80+
81+
- Greedy Algorithms
82+
- Activity Selection/Task Scheduling
83+
- Huffman Coding
84+
- Knapsack Problem (Fractional Knapsack)
85+
86+
87+
- String Algorithms
88+
- Rabin-Karp Algorithm
89+
- Knuth-Morris-Pratt Algorithm
90+
- Z Algorithm
91+
- Aho-Korasick Algorithm
92+
- Manachers Algorithm
93+
- Boyr-Moore Algorithm
94+
95+
96+
- Number Theory
97+
- Greatest Common Divisor (GCD)
98+
- Longest Common Multiplier (LCM)
99+
- Euler Totient (Phi)
100+
- Prime finding(Sieve of Eratosthenes)
101+
- Prime factorization
102+
- Factorial
103+
- Fibonacci
104+
- Counting, Permutation, combination
105+
- Exponentiation
106+
- Big Mod
107+
- Euclid, Extended euclid
108+
- Josephus Problem
109+
- Farey Sequence
110+
- Catalan numbers
111+
- Burnside's lemma/circular permutation
112+
- Modular inverse
113+
- Probability
114+
- Chinese Remainder Theorem
115+
- Gaussian Elmination method
116+
- Dilworth's Theorem
117+
- Matrix Exponentiation
118+
119+
120+
- Computational Geometry
121+
- Pick's Theorem
122+
- Convex hull
123+
- Line Intersection
124+
- Point in a polygon
125+
- Area of a polygon
126+
- Line Sweeping
127+
- Polygon intersection
128+
- Closest Pair
129+
130+
131+
- Game Theory
132+
- Take Away Game
133+
- Nim's Game
134+
- Sprague-grundy Number
135+
136+
- Others
137+
- BackTracking
138+
- N-Queen's Problem
139+
140+
---
141+
142+
## Introduction
143+
144+
145+
146+
### Big-O Notation and Time Complexity Analysis
147+
148+
[Algorithms in plain English: time complexity and Big-O notation](https://medium.freecodecamp.com/time-is-complex-but-priceless-f0abd015063c)
149+
150+
[Big-O Cheat Sheet Link](http://bigocheatsheet.com/)
151+
152+
### How to Use
153+
154+
155+
### Useful Links:
156+
* [Algorithms, 4th Edition (book by: Robert Sedgewick and Kevin Wayne)](http://algs4.cs.princeton.edu/home/)

0 commit comments

Comments
 (0)