二叉树相关基本问题
二叉树相关基本问题 实现二叉树的先序、中序、后序遍历,包括递归方式和非递归方式 在二叉树中找到一个节点的后继节点 二叉树的序列化和反序列化 二叉树按层序列化 判断一颗二叉树是否是平衡二叉树? 判断一棵树是否为搜索二叉树?判断一棵树是否是完全二叉树? 已知一颗完全二叉树,求其节点的个数? (from 左神算法初级班第五节) 1.实现二叉树的先序、中序、后序遍历,包括递归方式和非递归方式 1) 递归方式 实现先序、中序、后序遍历 打印时机不同,实现不同的顺序遍历 先序遍历:打印第一次访问的节点 中序遍历:打印第二次访问的节点 后序遍历:打印第三次访问的节点 代码: public static class Node { public int value ; public Node left ; public Node right ; public Node ( int data ) { this . value = data ; } } public static void preOrderRecur ( Node head ) { //先序遍历 if ( head == null ) { return ; } System . out . print ( head . value + " " ) ; preOrderRecur ( head . left ) ;