The wikipedia article contains a nice
description of PageRank. The method can be found on the article: Sergey Brin and Larry Page: The
Anatomy of a Large-Scale Hypertextual Web Search Engine. Proceedings of the 7th World-Wide Web
Conference, Brisbane, Australia, April 1998. See also the following
page.

This is a simple iterative implementation of PageRank which stops after a given number of
iterations or if the PageRank values between two iterations do not change more than a predefined
value. The implementation uses the variant which divides by the number of nodes, thus forming a
probability distribution over graph nodes.

Each iteration of the algorithm runs in linear time $O(n+m)$ when $n$ is the number of nodes and
$m$ the number of edges of the graph. The maximum number of iterations can be adjusted by the
caller. The default value is MAX_ITERATIONS_DEFAULT.

If the graph is a weighted graph, a weighted variant is used where the probability of following
an edge e out of node $v$ is equal to the weight of $e$ over the sum of weights of all outgoing
edges of $v$.