C++
As a part of CPSC 221, a course about algorithms and data structures, one project was to write functions that took a PNG image and modify it. To do this, we implemented a variant of a binary tree, a quadtree, to represent the image with the NW, NE, SW, SE portions of the image in each child node until a node cointained only one pixel. With this model, we wrote algorithms that rotated the image, cropped the image, and pruned the image. To prune the image, we checked for nodes where the colour in the subnodes does not vary a lot, and deleted that nodes subnodes in order to use less memory.