Javascript 算法的O-表示法

Javascript 算法的O-表示法,javascript,algorithm,big-o,Javascript,Algorithm,Big O,有人能帮我描述一下这个匹配算法的o符号吗。我相信它是O(n)^2,因为它使用了多个if语句,这是正确的吗。我附加了整个函数,因此您可以看到算法中使用的计算年龄 提前感谢您查看我的问题。很可能是O(1) for循环从不重复;无论发生什么情况,在循环的第一次通过时都会遇到break 所有if检查都是静态O(1)操作。除非calculateAge是一个O(n)操作,这听起来极不可能,calculateAge也是O(1)。多个O(1)s加起来等于O(1),由于循环从不重复,这使得整个算法O(1) 计算复

有人能帮我描述一下这个匹配算法的o符号吗。我相信它是O(n)^2,因为它使用了多个if语句,这是正确的吗。我附加了整个函数,因此您可以看到算法中使用的计算年龄

提前感谢您查看我的问题。

很可能是
O(1)

for循环从不重复;无论发生什么情况,在循环的第一次通过时都会遇到break

所有
if
检查都是静态
O(1)
操作。除非
calculateAge
是一个
O(n)
操作,这听起来极不可能,
calculateAge
也是
O(1)
。多个
O(1)
s加起来等于
O(1)
,由于循环从不重复,这使得整个算法
O(1)


计算复杂性源于循环和嵌套循环,但代码中没有工作循环。

0(1)。只有一个循环。如果计算年龄不是递归。

将所有部分保留在括号内。顺便说一句,循环在做什么,你的数据看起来怎么样?根据目前显示的代码,这是一个
O(1)
算法。我不知道为什么你会认为它是O(N²)。如果你的循环之前没有被打破,那么它将在它的身体末端无条件地被打破,因此它将只运行一次。Big O完全是关于可伸缩性的,即基于输入大小或大小的时间/空间需求;你的意见是什么?没有定义的输入,大O毫无意义。您需要显示完整的代码,并定义算法的输入。您发布的代码段的括号不匹配,因此根本无法运行。