想请教下各位dfs复杂度是如何分析的呀
比如下面这段代码
假设cal(i)
是O(1)的,那这个dfs的复杂度是多少呢
void dfs(int step, int sum)
{
if(step == n)
{
ans = max(ans, sum);
return;
}
for(int i = 0; i < n; i ++)
{
if(!vis[i])
{
int tmp = r[i];
if(!cal(i)) r[i] = 0;
vis[i] = true;
dfs(step + 1, sum + r[i] * r[i]);
vis[i] = false;
r[i] = tmp;
}
}
}
提问于2天前
551