首页 > 编程知识 正文

二叉树进行中序遍历需使用哪一种数据结构,根据二叉树的前序遍历和中序遍历

时间:2023-05-05 16:00:33 阅读:266881 作者:3690

文章目录 前言1.前中后序取决于 ---- 读根节点的顺序2.前中后序的代码实现3.各个排序方式在算法题中的作用(1)通过前中序、和中后序确定一个唯一的二叉树(2)二叉排序树的中序遍历是有序数组

前言

发现大厂面试总是喜欢从树入手进行考察面试者,这里总结一下二叉树的前序遍历、中序遍历、后序遍历的特征。

1.前中后序取决于 ---- 读根节点的顺序 比如说现在有个二叉树如下:


【如果子节点也是一个根节点的话,那么就先以子节点为根节点对其局部再进行递归】

前序的话就是:【根、左、右】:A B D E C中序的话就是:【左、根、右】:D B E A C后序的话就是:【左、右、根】:D E B C A 2.前中后序的代码实现 一下用递归进行实现: class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}class Solution {// 前序遍历 public void preOrder(TreeNode node) { if (node == null) { return; } System.out.println(node.val); // 根节点先操作 preOrder(node.left); preOrder(node.right); } // 中序遍历 public void inOrder(TreeNode node) { if (node == null) { return; } preOrder(node.left); System.out.println(node.val);// 根节点中间操作 preOrder(node.right); } // 后序遍历 public void postOrder(TreeNode node) { if (node == null) { return; } preOrder(node.left); preOrder(node.right); System.out.println(node.val); //根节点最后操作 }} 3.各个排序方式在算法题中的作用 (1)通过前中序、和中后序确定一个唯一的二叉树 通过前序和中序、或者中序和后序,能够确定一个确定的二叉排序树。但是前序和后序搭配在一起,是无法确定唯一的二叉树的。 (2)二叉排序树的中序遍历是有序数组 二叉排序树的中序遍历是有序的,且为升序(参考下面的图)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。