function HITS(query) returns pages with hub and authority numbers
pages ← Expand-Pages(Relevant-Pages(query))
for each p in pages do
p.Authority ← 1
p.Hub ← 1
repeat until convergence do
for each p in pages do
p.Authority ← ∑i Inlinki(p).Hub
p.Hub ← ∑i Outlinki(p).Authority
Normalize(pages)
return pages
Figure ?? The HITS algorithm for computing hubs and authorities with respect to a query. Relevant-Pages fetches the pages that match the query, and Expand-Pages adds in every page that links to or is linked from one of the relevant pages. Normalize divides each page's score by the square root of sum of the squares of all pages' scores (separately for both the authority and hubs scores).