Skip to content

Assignments for Coursera Algorithms: Part 1 & Part 2 and exercises from the https://algs4.cs.princeton.edu textbook.

Notifications You must be signed in to change notification settings

vladkinoman/princeton-algorithms

Repository files navigation

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.

Releases

No releases published

Packages

No packages published

Languages