空间最小长度_python训练题[通俗易懂]

空间最小长度_python训练题[通俗易懂]请参考教材98页,算法6.6,先来个常规算法,复杂度为n的平方,结合Python的优势,代码整短点,顺便绘制下图形,算法思路简单,不多说了,注意陷阱

空间最小长度_python训练题[通俗易懂]"

  1. 请参考教材98页,算法6.6,先来个常规算法,复杂度为n的平方,结合Python的优势,代码整短点,顺便绘制下图形,算法思路简单,不多说了,注意陷阱。
  2. 上代码了:
#coding=utf-8
import math
import matplotlib.pyplot as plt
def closestpair_simple(X, n):
    #对于n个数据点,计算n(n-1)/2个数就可以了
    dist = [[distance(X[i], X[j]), i, j] for i in range(len(X)) for j in range(i+1,len(X))]
    return min(dist)[0], [min(dist)[1], min(dist)[2]]
def distance(a, b):
    return math.sqrt(math.pow(a[0]-b[0], 2)+math.pow(a[1]-b[1], 2))
if __name__ == "__main__": 
    points = [(2,3), (10, 1), (3, 25), (23,15), (18,3), (8,9), (12,30), (25,30), (9,2), 
             (13,10), (3,4), (5,6), (22,32), (5,32), (23,9), (19,25), (14,1), (11,25), (26,26),
             (12,9), (18,9), (27,13), (32,13)]
    print (closestpair_simple(points, len(points)))
    #绘制这些点
    x = [points[i][0] for i in range(len(points)) ]
    y = [points[j][1] for j in r

今天的文章空间最小长度_python训练题[通俗易懂]分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/84765.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注