您的位置:首页 > 其它

二叉树的操作(前,中,后序遍历,非空结点的个数)递归实现

2019-03-31 21:52 387 查看

定义一个二叉树的结点

二叉树的前序遍历,
先访问根结点,再访问左,再访问右。
每次访问都要先看根结点是否为空,然后打印根结点,把此时根结点的左结点作为下一次递归的根结点,当把左结点遍历完后,再遍历右结点。其实很好想,每回只看一个结点,想一个结点怎么遍历,再用递归一写就行,实在不行就用笔画一画,多用脑子把程序跑几遍就好。

中序遍历,先访问左结点,再访问根结点,最后访问右结点。

后序遍历

只要根结点不为空,就把个数加一,然后把根结点的左结点作为下一次递归的根结点,然后再把此时根结点的右结点作为下一次递归打的右结点

第一次判断,如果根结点为空,返回0,如果不为空,left记录永远把当前根结点的左结点作为下一次递归的根结点,每次进到下一层,再进行一次根结点判断,如此反复,右结点也是如此。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐