Skip to content

Containing all the coding projects and assignments I've completed in COS 226 @ Princeton (Data Structures & Algorithms)

Notifications You must be signed in to change notification settings

Ammaar-Alam/cos-226

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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. Note at times are commenting is entirely inconsistent, this depends on how "over" each assignment I was :D

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.