![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
aniSHadow
敲代码的小白
展开
-
浅谈关于递归的一些感悟
最近在写数据结构中关于树的一些操作,其中最基础的就是构造一棵二叉树,然后去1.遍历二叉树,2.求出二叉树的层数,3.求出二叉树中的叶子结点数,4.交换二叉树的左右子树。 1.遍历二叉树的递归方法思想最为简单,以先序遍历为例,就是先访问根结点,然后以同样方法访问左子树,然后以同样方法访问右子树。(其实这里给的算法描述和二叉树的定义很像,根结点最多有两个孩子结点,左子树右子树又是一棵二原创 2016-05-13 10:57:22 · 1315 阅读 · 0 评论 -
二叉链表(链式二叉树)的非递归创建
这里我采用的是先序非递归创建二叉树。思路很简单: 首先要有一个结点数组。 1.取第一个结点,是否为空,不是就作为树根,压栈,是空则树根为空,结束。 2.取下一个结点a。 3.取栈顶结点b,如果栈顶结点没有左孩子,那么b->lchild=a,如果栈顶结点b有左孩子没有右孩子,那么 b->rchild=a,如果栈顶结点左孩原创 2016-05-15 10:50:46 · 3855 阅读 · 0 评论