以下算法的复杂度是什么?它类似于最近邻算法?

以下算法的时间复杂度是什么?

输入:点集P及其欧几里得坐标

  1. 计算这些点的旅行路线(使用最近邻算法,类似于旅行商问题)

  2. 对于每个点,获取其最近邻信息(相对于原始数据集中所有点)

复杂度是O(n)还是O(n²)?我们如何轻松地可视化复杂度和效率?


回答:

    1. 对于每个点,你必须找到最近的邻居。(你得到第一个n

    2. 计算两个点之间的距离会得到一个1的因子,因为它在O(1)内运行。

    3. 因此,计算一个点与所有其他点之间的距离会得到一个O(n)的因子。

    总共你得到O(n²)。当然,在第3步中,你不需要计算到已访问点的距离,但这只节省了一个常数因子。

  1. 一个点A的最近邻信息是离A最近的点。所以你必须为n个点计算到所有其他点的距离,因此这里也得到O(n²)

将这些加在一起,结果是O(n² + n²) = O(2n²) = O(n²)

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

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