是否还需要extern"C"来将Cpp文件中使用的全局变量链接到ac文件中定义的变量?
它用于连接C++文件中的函数,该文件在C文件中引用,因为C++文件中的函数名称名称被破坏.C编译器是否也改变了变量的名称?
当我试图评估T(n)= T(n/2)+ n时,我只是尝试使用Master Theorem并且有点困惑.使用Master定理,答案评估为O(n).
但只需通过以下代码:
fun(n)
{
if(n == 1)
return ;
for(int i=1;i<=n;i++)
{
printf("*");
}
fun(n/2);
}
Run Code Online (Sandbox Code Playgroud)
上述代码的递归方程是T(n)= T(n/2)+ n.因此,上述程序的时间复杂度必须为O(n).
但是如果按逻辑思考,程序运行的次数是:n + n/2 + n/4 + n/8 + ...... = nlogn.因此,从逻辑上讲,上述程序的时间复杂度必须为O(nlogn).
我现在非常困惑.有人可以帮我解决我弄错的地方吗?