假设我有以下算法:
for(int i = 1; i < N; i *= 3) {
sum++
}
我需要使用波浪符号计算复杂度,这基本上意味着我必须找到一个波浪函数,以便当我将算法的复杂度除以这个波浪函数时,无穷大的限制必须为 1。
我认为没有必要计算确切的复杂度,我们可以忽略常量,然后我们就有了波浪线复杂度。
通过查看索引的增长,我假设这个算法是
~ log N
但是,在这种情况下,基数不是二进制对数函数,而是 3。这对确切的符号有影响吗?增长的顺序是否完全相同,因此我们可以在使用波浪符号时忽略基数吗?我是否正确处理这个问题?