Skip to content

heyalexchoi/Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository contains my working files for Coursera/Princeton's Algorithms I course.
I received 100% on each programming assignment. Feel free to use for your own learning, in accordance with Coursera's and any other terms that may apply.


Description.   An introduction to fundamental data types, algorithms, and data structures. Our emphasis is on applications and scientific performance analysis of Java implementations.

Part I focuses on elementary data structures, sorting, and searching. Topics include union-find, binary search, stacks, queues, bags, insertion sort, selection sort, shellsort, quicksort, 3-way quicksort, mergesort, heapsort, binary heaps, binary search trees, red-black trees, separate chaining and linear probing hash tables, Graham scan, and kd-trees.

https://class.coursera.org/algs4partI-005/wiki/view?page=syllabus

Assignments:
- Percolation: Write a program to estimate the value of the percolation threshold via Monte Carlo simulation. Used WeightedQuickUnion data structure to efficiently model system percolation.
http://coursera.cs.princeton.edu/algs4/assignments/percolation.html
- Queues: Write a generic data type for a deque and a randomized queue. The goal of this assignment is to implement elementary data structures using arrays and linked lists, and to introduce you to generics and iterators.
http://coursera.cs.princeton.edu/algs4/assignments/queues.html
- Collinear: Write a program to recognize line patterns in a given set of points. Use sorting by slope to efficiently determine collinearity in a set of points.
http://coursera.cs.princeton.edu/algs4/assignments/collinear.html
- 8Puzzle: Write a program to solve the 8-puzzle problem (and its natural generalizations) using the A* search algorithm. Used priority queue to find the most efficient solution to a given 8-puzzle problem. 
http://coursera.cs.princeton.edu/algs4/assignments/8puzzle.html
- KdTree: Write a data type to represent a set of points in the unit square (all points have x- and y-coordinates between 0 and 1) using a 2d-tree to support efficient range search (find all of the points contained in a query rectangle) and nearest neighbor search (find a closest point to a query point). 2d-trees have numerous applications, ranging from classifying astronomical objects to computer animation to speeding up neural networks to mining data to image retrieval.
http://coursera.cs.princeton.edu/algs4/assignments/kdtree.html



About

Coursera Algorithms I programming assignments

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages