📅  最后修改于: 2023-12-03 15:26:41.355000             🧑  作者: Mango
在处理树形结构的算法中,树的遍历是一个基本操作。树的遍历是指按照某种方式遍历树的所有结点。在树遍历中,关键点在于每个结点访问的顺序。树的遍历一般分为前序遍历、中序遍历和后序遍历三种方式。
前序遍历是指以根节点的访问顺序为基础,优先访问该节点的左孩子,再访问该节点的右孩子。
public static void preorder(TreeNode root) {
if (root == null) {
return;
}
System.out.print(root.val + " ");
preorder(root.left);
preorder(root.right);
}
前序遍历的应用场景:深度优先搜索、前序遍历二叉树等。
中序遍历是指以根节点的访问顺序为基础,优先访问该节点的左孩子,再访问该节点,最后访问该节点的右孩子。
public static void inorder(TreeNode root) {
if (root == null) {
return;
}
inorder(root.left);
System.out.print(root.val + " ");
inorder(root.right);
}
中序遍历的应用场景:二叉查找树中的数据查找、按顺序输出二叉树中的结点等。
后序遍历是指以根节点的访问顺序为基础,优先访问该节点的左孩子,再访问该节点的右孩子,最后访问该节点。
public static void postorder(TreeNode root) {
if (root == null) {
return;
}
postorder(root.left);
postorder(root.right);
System.out.print(root.val + " ");
}
后序遍历的应用场景:统计二叉树的深度,删除二叉树等。
以上就是关于树的三种遍历方式的介绍,希望能对有需要的程序员有所帮助。