algorithm - 帮助学习算法基础知识

标签 algorithm complexity-theory big-o

<分区>

我正在学习算法,需要你们帮助我。我是初学者,如果我的问题不清楚,请原谅我。在学习的同时,我看到了 NlogN、N^2 等之类的东西。

在使用这些符号检查不同算法的效率/性能时,我并没有真正清楚地理解它。我非常了解对数,但是将它们用于检查算法性能的方式让我很生气。

我想问是否有人可以指点我解释此类符号的教程,以便我可以很好地掌握基础知识。我真的很想了解他们,也愿意学习。

感谢您的帮助。

卡普。

最佳答案

您所描述的称为 big O notation . Here是解释它的指南。

需要注意的一件重要事情是,符号会忽略无关紧要的术语。如果您的算法需要 6X^2 + 3X + 12 秒来执行,其中 X 是正在处理的数据点数,只需将其称为 O(X^2) 因为当 X 变大时,6 不会真正有所作为, 3 和 12 也不会。

关于algorithm - 帮助学习算法基础知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4018568/

相关文章:

具有 set() 方法和 O(1) Contains() 的 Java 数据结构

algorithm - 所有利润都等于 1 的背包问题

algorithm - 快速迭代 GCD

arrays - 在数组中查找与数组具有相同均值的对

complexity-theory - T(n) = T(n - 平方根(n))

java - Collections.sort的BigO是什么?

c++ - 如何停止 std::set 排序?

algorithm - 程序的指数复杂度

javascript - 快速删除dygraph系列的方法

complexity-theory - NP-complete 的复杂度测量