def __init__(self, data, number_clusters, link = None, ccore = True):
        """!
        @brief Constructor of agglomerative hierarchical algorithm.
        
        @param[in] data (list): Input data that is presented as a list of points (objects), each point should be represented by list, for example
                    [[0.1, 0.2], [0.4, 0.5], [1.3, 0.9]].
        @param[in] number_clusters (uint): Number of clusters that should be allocated.
        @param[in] link (type_link): Link type that is used for calculation similarity between objects and clusters, if it is not specified centroid link will be used by default.
        @param[in] ccore (bool): Defines should be CCORE (C++ pyclustering library) used instead of Python code or not (by default it is 'False').
        
        """  
        
        self.__pointer_data = data
        self.__number_clusters = number_clusters
        self.__similarity = link
        
        if self.__similarity is None:
            self.__similarity = type_link.CENTROID_LINK
        
        self.__clusters = []
        self.__ccore = ccore
        if (self.__ccore):
            self.__ccore = ccore_library.workable()
        
        if (self.__similarity == type_link.CENTROID_LINK):
            self.__centers = self.__pointer_data.copy()
def __init__ ( self , data , number_clusters , link = None , ccore = True ) : self . __pointer_data = data self . __number_clusters = number_clusters self . __similarity = link if self . __similarity is None : self . __similarity = type_link . CENTROID_LINK self . __clusters = [ ] self . __ccore = ccore if ( self . __ccore ) : self . __ccore = ccore_library . workable ( ) if ( self . __similarity == type_link . CENTROID_LINK ) : self . __centers = self . __pointer_data . copy ( )
!
        @brief Constructor of agglomerative hierarchical algorithm.
        
        @param[in] data (list): Input data that is presented as a list of points (objects), each point should be represented by list, for example
                    [[0.1, 0.2], [0.4, 0.5], [1.3, 0.9]].
        @param[in] number_clusters (uint): Number of clusters that should be allocated.
        @param[in] link (type_link): Link type that is used for calculation similarity between objects and clusters, if it is not specified centroid link will be used by default.
        @param[in] ccore (bool): Defines should be CCORE (C++ pyclustering library) used instead of Python code or not (by default it is 'False').