Skip to content

A collection of my assignments from COS 226 - Algorithms and Data Structures at Princeton University.

Notifications You must be signed in to change notification settings

RyanAlbertson/COS226_Princeton_University

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

princeton_shield

COS 226 - Algorithms and Data Structures

at Princeton University

This repository contains my Java programming assignments that I completed while auditing Princeton's COS 226.



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, but I'll abstract more on the material below.

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 that I littered much of the code with block comments because I wanted my logic to be explicit for my grader.

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
Create a 2D space partitioning binary search tree API
binary search trees, 2-3 trees, red-black trees, B-trees, kd-trees
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

About

A collection of my assignments from COS 226 - Algorithms and Data Structures at Princeton University.

Topics

Resources

Stars

Watchers

Forks

Languages