Clustering is the process of grouping similar objects together. Hierarchical agglomerative clustering builds a hierarchy by iteratively merging the closest pairs of clusters. It starts with each document in its own cluster and successively merges the closest pairs of clusters until all documents are in one cluster, forming a dendrogram. Different linkage methods, such as single, complete, and average linkage, define how the distance between clusters is calculated during merging. Hierarchical clustering provides a multilevel clustering structure but has computational complexity of O(n3) in general.