ada*_*101 7 language-agnostic algorithm programming-languages
我一直在注意使用这些术语的堆栈溢出的答案,但我不知道它们是什么意思.他们叫什么,是否有一个很好的资源,可以用简单的术语解释它们?
Rya*_*ner 14
这种表示法称为Big O表示法,用作表达算法复杂性的简写(基本上,当输入大小(n)增长时,给定算法将运行多长时间)
一般来说,您将遇到以下主要类型的算法:
通常,您可以通过查看算法的使用方式来粗略地衡量算法的复杂程度.例如,查看以下方法:
function sum(int[] x) {
int sum = 0;
for (int i = 0; i < x.length; i++) {
sum += x[i];
}
return sum;
}
Run Code Online (Sandbox Code Playgroud)
这里有一些事情需要做:
有一些操作在这里持续运行(前两个和最后一个),因为x的大小不会影响它们运行的时间.同样,有些操作以线性时间运行(因为它们对x中的每个条目运行一次).使用Big O表示法,算法被简化为最复杂的,因此这个和算法将在O(n)中运行