Skip to content

Latest commit

 

History

History
138 lines (129 loc) · 5.05 KB

README.md

File metadata and controls

138 lines (129 loc) · 5.05 KB

princeton_shield

COS 226 - Algorithms and Data Structures

This repository contains the Java programming assignments that I completed while taking COS 226 at Princeton during the spring semester of my first year.

Course Information

The course focuses on the implementation of various data structures and algorithms. It also concentrates on the time and space complexities of each of them. Topics covered can be found here.

Java Assignments

Most of the dependencies that I used are contained within the course's algs4.jar. This can be found, along with installation instructions, at this link. The same link also has any needed java programs and libraries that may not be in the .JAR file.

Assignment Description Topics Learned
Estimate the percolation threshold of a composite system
quick-union, weighted quick-union, Monte Carlo method
Create Deque and RandomizedQueue objects
linked lists, stacks, queues, deques, Java iterators
Autocomplete feature for user queries
selection sort, insertion sort, binary search, mergesort, quicksort, Java comparators
Solver for any k-puzzle
A* search, priority queues/heaps, heapsort
Build a WordNet object with built-in search methods
hash tables, depth-first search, breadth-first search, topological sort, minimum spanning trees, Kruskal's algorithm, Prim's algorithm
Content-aware image resizing API
Bellman-Ford algorithm, Dijkstra's algorithm, Ford-Fulkerson algorithm, MinCuts, MaxFlows
Implement a machine learning model to detect fraudulent credit card transactions
clustering algorithms, dimensionality reduction, weak learners, boosting algorithms, decision stumps, AdaBoost

Licensing

Please note, this readme was shamelessly stolen and adapted from Ryan Albertson, who's own COS-226 repository can be found here.