摘要: 继续小结: 树向二叉树的转换,树的根节点还是二叉树的根节点,根的子树森林构成一棵树二叉树作为根节点的左子树。 二叉树向树的转换则需要一些条件,这个条件是什么呢?就是这颗二叉树没有右子树。要明白一点,右子树都是兄弟,左子树都是孩子(左子右兄)。同时也能知道如果树用二叉链表存储的话,如果结点没有左子树则意味着其没有孩子,则意味这其是叶子节点。 森林向二叉树的转换,二叉树的根节点是第一棵子树的根节点,第一棵子树的子树森林构成一棵二叉树作为根节点的左子树,其余的树(也就是森林中除了第一棵树外其他的树)构成一棵二叉树,作为根节点的右子树。 二叉树向森林的转换,二叉树的根和其右子树转换成第一棵树。(这个. 阅读全文
posted @ 2012-12-15 21:55 简单地快乐 阅读(2079) 评论(0) 推荐(0)
摘要: 最近复习一下数据结构,又加深了一些问题的理解。 递归大家都很熟悉了,但是什么时候能用递归?什么时候不能用递归呢?大家在学习汉诺塔、二叉树和树的时候经常用到递归,但是为什么这些时候能用递归,而其他时候不能用到递归呢? 递归的使用就是知道递归的次数是可知的并且是恒定的(这里的次数并不是递归的深度,举个例子吧,遍历二叉树的根节点后,你明确的知道要遍历左子树和右子树,那么这里的次数就是2,2是已知的并且不会随节点的变化而变化),在二叉树中,仅仅有左子树和右子树两种情况,所以能用递归。 可能有人又会问了,我也见过数的遍历中用到递归的啊,这个每个节点的孩子数目是不一定的啊,这又怎么解释呢?我可以说,这种. 阅读全文
posted @ 2012-12-15 21:28 简单地快乐 阅读(459) 评论(0) 推荐(0)