def __init__(self, merges):
    'Creates a hierarchical clustering.\n\n        @param merges: the merge history either in matrix or tuple format'
    self._merges = [tuple(pair) for pair in merges]
    self._nmerges = len(self._merges)
    if self._nmerges:
        self._nitems = ((max(self._merges[(- 1)]) - self._nmerges) + 2)
    else:
        self._nitems = 0
    self._names = None
Creates a hierarchical clustering.

@param merges: the merge history either in matrix or tuple format
def __init__(self, merges):
    'Creates a hierarchical clustering.\n\n        @param merges: the merge history either in matrix or tuple format'
    self._merges = [tuple(pair) for pair in merges]
    self._nmerges = len(self._merges)
    if self._nmerges:
        self._nitems = ((max(self._merges[(- 1)]) - self._nmerges) + 2)
    else:
        self._nitems = 0
    self._names = None