一、python代码
'''
Author: Vici__
date: 2020/5/21
'''
import math
'''
Point类,记录坐标x,y和点的名字id
'''
class Point:
'''
初始化函数
'''
def __init__(self, x, y, id):
self.x = x # 横坐标
self.y = y # 纵坐标
self.id = id # 名字(编号)
'''
计算两点之间的欧几里得距离
'''
def calc_Euclidean_distance(self, p2):
return math.sqrt((self.x - p2.x) * (self.x - p2.x) + (self.y - p2.y) * (self.y - p2.y))
'''
1. 获取数据集
'''
def get_dataset():
# 原始数据集以元组形式存放,(横坐标,纵坐标,编号)
datas = [(0, 2, 'A'), (0, 0, 'B'), (1.5, 0, 'C'), (5, 0, 'D'), (5, 2, 'E')]
dataset = [] # 用于计算两点之间的距离,形式 [point1, point2...]
C = {} # 用于簇之间的合并操作,形式{index1:[p1], index2:[p2]...}
for i in range(len(