我想知道Integer.toBinaryString()的时间复杂度。
答案 0 :(得分:3)
有两种方法可以看:
Integer.toBinaryString(n)
生成一个长度为ceiling(log2(n))
的字符串。该计算将花费大约与log(n)
成比例的时间。
n
的最大值是2 ^ 31 - 1,并且该计算总是需要一些固定的固定时间。
事实上,Integer.toBinaryString(n)
的大O复杂性问题在数学上并不具有意义。根据定义,大O复杂性是关于函数的行为,因为某些变量趋于无穷大。唯一的变量(n
)在这种情况下不能这样做。