My answer is about agglomerative (i.e. bottom-up) hierarchical cluster analysis, HAC, which methods are overviewed here. (I'm not quite sure if the answer can be extended to divisive, top-down hierarchical algorithms which I know less.)
Every linkage method defines, its characteristic way, the distance between two clusters - or between cluster and point as a particular case. Therefore it is possible to compute the distance between a point and a cluster according to the selected linkage method - even if the cluster already exists as a descendant from past HAC or other clustering method session. I mean - it is possible to assign a point to a cluster without doing the assemblage of that cluster hierarchically by steps within HAC. Few methods (namely, WPGMA, WPGMC) is the exclusion in that they demand the stepwise assemblage to be repeated in order to assign some next point to the cluster.
The computations are quite straightforward, different for different methods, and are accomplishable by matrix algebra operations.
I've implemented this task of assignment of new objects to existent clusters according to the different HAC linkage rules as a program for SPSS. Also, I've implemented the HAC program with the option to do the assignment and stop (not to cluster up to the end), among other options. (The link for the page is in my profile, and the download is called "Clustering".)
The first program !assclu
is faster because it doesn't perform the stepwise agglomerative assemblage before the assignment, but the second program !hieclu
is more general. Program 1 requires you to have the matrix of distances between all the old points (that are partitioned into the clusters) plus the new points-to-enrol, added to that matrix. Program 2 will accept the same input but can also allow you to have just the matrix of distances between the clusters, plus the new points-to-enrol added to that matrix.
The being discussed task of assignment of new objects to old clusters is in-between (or a hybrid of) the clustering and the classification tasks. Like classification, it uses data already labelled (clustered). But it does not derive classification rules by exploring the classes. Instead, it applies the clustering rule preformulated by the chosen linkage method, coming from the domain of clustering; in other words, the step of discrimination (learning) between the classes is skipped, and just the classification by the rule is performed. See a recent question about the topic.