树的遍历及复杂度分析
树的遍历及复杂度分析
时间复杂度:由于要遍历树的所有节点,故时间复杂度均为O(n)
空间复杂度:递归算法用函数栈实现,空间复杂度即为栈的深度,也即树的高度O(logn)
此时的栈中存参数,函数指针,局部变量。
前序遍历
print(TreeNode * root)
{
if(root!=NULL){
cout<<root->val<<endl;
print(root->left);
print(root->right);
}
}
树的遍历及复杂度分析
时间复杂度:由于要遍历树的所有节点,故时间复杂度均为O(n)
空间复杂度:递归算法用函数栈实现,空间复杂度即为栈的深度,也即树的高度O(logn)
此时的栈中存参数,函数指针,局部变量。
前序遍历
print(TreeNode * root)
{
if(root!=NULL){
cout<<root->val<<endl;
print(root->left);
print(root->right);
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步