【发布时间】:2019-05-29 20:35:40
【问题描述】:
下面是一个在三角形中找到最大和的算法。我想说这个算法是 O(N^2),因为 findMax 函数调用可以替换为嵌套的 for 循环,遍历每个节点的每个子节点。然而,递归让我不确定。那么如何通过递归来判断这段代码的时间复杂度呢?
int maxValue = 0;
void findMax ( Node * n , int sum ) {
if ( n == NULL ) {
if ( maxValue < sum ) {
maxValue = sum ;
}
return ;
}
findMax (n - > leftChild , sum + n - > value ) ;
findMax (n - > rightChild , sum + n - > value ) ;
}
【问题讨论】:
标签: time-complexity