My Algorithm design course at CEIT/AUT (Fall 2021).
In this repository, I represent my projects and practices in algorithm design.
- Solve recursive relationships
- the master theorem
- recursive tree
- Heap sort
- Quick sort
- Linear time sorting algorithms
- Counting sort
- Radix sort
- Bucket sort
- Finding the median
- selection problem
- Breaker analysis
- Algorithm designs
- Divide and conqure
- Dynamic programming
- Backtracking
- Branch and bound
- Greedy approach
| Project | Subjects | PL |
|---|---|---|
| 8 queen with barrier | Backtracking | JS |
| 8 queen with bonus barrier | Backtracking / Greedy | JS |
| Balanced binary tree | Divide and conqure | Python |
| Boyer-Moore Pattern Searching | Searching | C++ |
| Floyd Warshall algorithm | Dynamic programming | Python |
| Ford Fulkerson algorithm | Greedy | Python |
| Huffman coding algorithm | Lossless data compression | Python |
| Kth Smallest Element | Divide and conqure | C/C++ |
| Longest common subsequence | Dynamic programming | C |
| Longest increasing subsequence | Dynamic programming | JS |
| Maximum subarray sum | Divide and conqure | JS |
| Median of two sorted arrays | Selection | JS/C/C++ |
| N-queen problem | Backtracking | C |
| Rabin Krap algorithm | String-searching | Python |
| Weighted colored cubes | Greedy | JS |