princeton-algorithms
princeton-algorithms copied to clipboard
Assignments for Coursera Algorithms: Part 1 & Part 2 and exercises from the https://algs4.cs.princeton.edu textbook.
Assignments for Coursera Algorithms: Part 1 & Part 2 (Princeton)
Description
Assignments for Coursera Algorithms: Part 1 & Part 2 and exercises from the textbook "Algorithms 4ed".
1-1-percolation
A Java program which estimates the value of the percolation threshold via Monte Carlo simulation.
Score: 100/100.
1-2-queues
A Java program with a generic data type for a deque and a randomized queue. The goal of this assignment was to implement elementary data structures using arrays and linked lists, and to introduce you to generics and iterators.
Score: 100/100. There is also a small performance bug.
Remark: "performance" means "timing".
1-3-collinear-points
A Java program which recognizes line patterns in a given set of points.
Score: 88/100. There are 3 correctness bugs and 1 performance bug.
Remark: see the "issues" section for more detailed information on bugs.
1-4-8-puzzle
A Java program to solve the 8-puzzle problem (and its natural generalizations) using the A* search algorithm.
Score: 100/100.
1-5-kd-trees
A Java program which has two data types to represent a set of points in the unit square (all points have x- and y-coordinates between 0 and 1):
- PointSet - brute-force implementation which uses an ordered set data type
- KdTree which uses a 2d-tree to support efficient range search and nearest-neighbor search.
2d-trees have numerous applications, ranging from classifying astronomical objects to computer animation to speeding up neural networks to mining data to image retrieval.
Score: 100/100.
exercises-from-algorithms-4ed
Solutions to the most interesting exercises from the book "Algorithms: 4 edition".
interview-questions
Solutions to the most interesting (not all) exercises from "Algorithms: part 1" and "Algorithms: part 2" courses on Coursera.
lecture-questions
Questions/answers that arise during/after the lectures. I chose only the hardest ones.
lecture-slides
Lecture presentations in .pdf format. The presentations belong to the authors of this course and were added solely for educational purposes and for quick access.
old-solutions
My own solutions I created while taking the course in 2016. I use them just to compare my progress over the years.