如何将二叉树的形象理解与计算深度结合,巧妙运用递归思想?

2026-04-02 13:571阅读0评论SEO教程
  • 内容介绍
  • 相关推荐

本文共计423个文字,预计阅读时间需要2分钟。

如何将二叉树的形象理解与计算深度结合,巧妙运用递归思想?

从二叉树的深度递归函数中,使用debug调试更深入地理解程序的运行过程。

函数:int BTNodeDepth(BTNode *b)功能:求二叉树b的深度

递归过程:

1.初始化深度为0

2.如果b为空,返回当前深度

3.分别递归计算左子树和右子树的深度

4.取左右子树深度的较大值,加1后返回

如何将二叉树的形象理解与计算深度结合,巧妙运用递归思想?

从求二叉树的深度的递归函数中,使用debug调试更深刻的理解程序的运行过程。intBTNodeDepth(BTNode*b)求二叉树b的深度{intlchilddep0,rchil

从求二叉树的深度的递归函数中,使用debug调试更深刻的理解程序的运行过程。 int BTNodeDepth(BTNode *b) //求二叉树b的深度 { int lchilddep = 0 ,rchilddep = 0; if (b==NULL) return(0); //空树的高度为0 else { lchilddep = BTNodeDepth(b->lchild); //求左子树的高度为lchildde rchilddep = BTNodeDepth(b->rchild); //求右子树的高度为rchilddep return (lchilddep>rchilddep)? (lchilddep+1):(rchilddep+1); } }

例如这里使用完函数后再return时,会将return 中的值赋值给lchilddep或lchilddep。 在debug中看到的现象时会回到这个函数(debug箭头指向这个函数,执行的是赋值操作) 在去执行下一个函数。 这里 = 号是得到上一个return里的值。

递归函数变量赋初值问题,为什么不加static?,每次int lchilddep = 0 ,rchilddep = 0;都是新的变量(相当于调用新的函数)创建新的空间这里的被赋值的地方都是上一个return返回的,所以不加。

二这里递归都是反哺上去的值。

对递归有了图表化的认识,想象成二叉树排布的房间,只有一个返回则想象成每一层都只有一个节点的树,两个以上则想象成多叉树。

本文共计423个文字,预计阅读时间需要2分钟。

如何将二叉树的形象理解与计算深度结合,巧妙运用递归思想?

从二叉树的深度递归函数中,使用debug调试更深入地理解程序的运行过程。

函数:int BTNodeDepth(BTNode *b)功能:求二叉树b的深度

递归过程:

1.初始化深度为0

2.如果b为空,返回当前深度

3.分别递归计算左子树和右子树的深度

4.取左右子树深度的较大值,加1后返回

如何将二叉树的形象理解与计算深度结合,巧妙运用递归思想?

从求二叉树的深度的递归函数中,使用debug调试更深刻的理解程序的运行过程。intBTNodeDepth(BTNode*b)求二叉树b的深度{intlchilddep0,rchil

从求二叉树的深度的递归函数中,使用debug调试更深刻的理解程序的运行过程。 int BTNodeDepth(BTNode *b) //求二叉树b的深度 { int lchilddep = 0 ,rchilddep = 0; if (b==NULL) return(0); //空树的高度为0 else { lchilddep = BTNodeDepth(b->lchild); //求左子树的高度为lchildde rchilddep = BTNodeDepth(b->rchild); //求右子树的高度为rchilddep return (lchilddep>rchilddep)? (lchilddep+1):(rchilddep+1); } }

例如这里使用完函数后再return时,会将return 中的值赋值给lchilddep或lchilddep。 在debug中看到的现象时会回到这个函数(debug箭头指向这个函数,执行的是赋值操作) 在去执行下一个函数。 这里 = 号是得到上一个return里的值。

递归函数变量赋初值问题,为什么不加static?,每次int lchilddep = 0 ,rchilddep = 0;都是新的变量(相当于调用新的函数)创建新的空间这里的被赋值的地方都是上一个return返回的,所以不加。

二这里递归都是反哺上去的值。

对递归有了图表化的认识,想象成二叉树排布的房间,只有一个返回则想象成每一层都只有一个节点的树,两个以上则想象成多叉树。