## Overview¶

In this project, you will implement a content-aware image resizing algorithm. By the end, you will be able to:

- Solve a real-world graph problem via reduction.
- Represent problem solutions as states in a graph.
- Apply graph augmentation as a strategy for solving a new class of graph problems

## Getting the Assignment¶

Task

Grab your partner(s) and set off on a new journey together!

If you are working in a group, consider scheduling a time to go over the spec together and discuss how to collaborate on the project. If you are working with a new partner, follow the instructions from the Deques assignment to add your partner into your group and pull the assignment from the public skeleton.

Task

Pull the skeleton repository in IntelliJ to get the `heap`

assignment.

Pull the repo similar to how you did it for the deques assignment:

If IntelliJ doesn’t react to the new folder for whatever reason, refresh Gradle manually through the Gradle tool window (on the right by default):

## Subpages

- Background - Familiarize yourself with Seam Carving and the assignment.
- Shortest Path Finder - Implement Dijkstra’s Algorithm to find the shortest path.
- Seam Finding - Implement the logic behind seam carving using two different techniques.