I built an Adjacency List-based PageRank program that, when given two vertices with a directed edge between them, stores the relative PageRank matrix in an Adjacency List. From there, up to 1,000,000 total edges are able to be input, and accounted for in the Adjacency List. Then, when given an input for the number of power iterations, is able to perform relatively efficient matrix multiplication using only the Adjacency List.
During the course of this project, I gained a great deal of experience with PageRank algorithms, much like the one that Google has implemented, as well as ordered maps and hashmaps.