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

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

输入:点集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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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