二叉树Java实现

时间:2023-02-09 23:27:07

 

      为了克服对树结构编程的畏惧感和神秘感,下定决心将二叉树的大部分操作实现一遍,并希望能够掌握二叉树编程的一些常用技术和技巧。关于编程实现中的心得和总结,敬请期待!~

      [1]  数据结构和表示: 二叉树的输入输出格式采用广义表表达式形式,内部表示采用左孩子右孩子的链式存储。

      [2]  已经实现的操作有:

             A. 根据二叉树的广义表表达式来创建二叉树(含表达式合法性检测);

             B. 根据二叉树的前序和中序遍历列表来创建二叉树;

             C. 根据二叉树的中序和后序遍历列表来创建二叉树;

             D. 二叉树的“左孩子右孩子”链式存储转化为广义表表达式;

             E. 二叉树的前序、中序、后序的递归和非递归遍历;层序遍历;结点关联列表;

             F. 求解二叉树的高度、结点总数、叶子结点总数、所有的叶子结点列表;根结点到所有叶子结点的路径;最长路径;

             G. 二叉树复制,二叉树全等性比较,二叉树交换(将二叉树的所有结点的左右子树互换)

       [3]  尚待实现的操作:

             A. 求解二叉树中所有最长(短)路径

             E. 其它

 

       [4]  二叉树 Java 实现代码:

 

       

 

 

 

     [5]  该二叉树程序的用法示例代码:

 

 

      

 

         [6]  先歇会吧!