1. A computer-implemented method of determining a list of k nodes of a graph that have top-k highest aggregate scores over neighboring nodes within h-hops of said k nodes by using forward processing steps, said method comprising: a computer system obtaining a next node u of said graph, wherein at least one node of said graph is not in a list of pruned nodes; if said next node u is not in said list of pruned nodes then a processor of said computer system performing said forward processing steps of: determining an aggregate score of said u by performing an aggregation operation that includes adding an initial score of said u to initial scores of neighboring nodes within h-hops of said u; if said aggregate score of said u is greater than a lower bound of aggregate scores of said k nodes, then adding said u to said list of k nodes and updating said lower bound of said aggregate scores of said k nodes; pruning one or more neighboring nodes within h-hops of said u, wherein said pruning is based, in part, on a differential index between a neighboring node of said one or more neighboring nodes and said u and based, in part, on an upper bound of an aggregate score of said neighboring node; and adding said one or more neighboring nodes to said list of pruned nodes; and repeating said obtaining said next node and said performing said forward processing if said next node is not in said list of pruned nodes until every node of said graph is obtained as said next node by said obtaining.