This repository contains my solutions to the programming assignments of the Princeton Algorithms I and Princeton Algorithms II courses on Coursera.
Only the code of the submissions is included, not potential classes provided by the course, which can be found on the course website.
Following assignments are included:
Course part | Week | Assignment | Description | Topics | Score | Link |
---|---|---|---|---|---|---|
I | 1 | Percolation | Estimate the percolation threshold of a given grid. | Union-find, Monte Carlo simulation | 84/100 | Solution |
I | 2 | Deques and Randomized Queues | Implement a deque and randomized queue data structure. | Linked lists, arrays, resizing arrays, iterators | 99/100 | Solution |
I | 3 | Collinear Points | Find all collinear points in a given set of points. | Sorting, line segments, brute force vs. sorting | 94/100 | Solution |
I | 4 | 8 Puzzle | Solve the 8 puzzle game using priority search. | Priority queues, A* search algorithm | 98/100 | Solution |
I | 5 | Kd-Trees | Implement a 2d-tree data structure and use it to find the nearest neighbor of a given point. | Binary search trees, 2d-trees, range search, nearest neighbor search | 91/100 | Solution |
II | 1 | WordNet | Calculate the shortest ancestral path between two given nouns and the distance between them. | Directed graphs, shortest paths, topological sorting, digraphs, breadth-first search, depth-first search | 92/100 | Solution |
II | 2 | Seam Carving | Reduce the width or height of an image by removing the least important pixels. | Shortest paths, image processing, sorting | 94/100 | Solution |
II | 3 | Baseball Elimination | Calculate all teams that are mathematically eliminated from winning the given baseball division. | Flow networks, maxflow, mincut, Ford-Fulkerson algorithm | 100/100 | Solution |
II | 4 | Boggle | Calculate all possible words in a given Boggle board for a given dictionary. | Tries, string processing, symbol tables | 91/100 | Solution |
II | 5 | Burrows-Wheeler | Implement the Burrows-Wheeler data compression algorithm. | String sorting, data compression | 100/100 | Solution |