import java.util.*;
public class Main{
public static void main(String[] args){
TreeNode head=new TreeNode(1);
TreeNode second=new TreeNode(2);
TreeNode three=new TreeNode(3);
TreeNode four=new TreeNode(4);
TreeNode five=new TreeNode(5);
TreeNode six=new TreeNode(6);
TreeNode seven=new TreeNode(7);
head.rightNode=three;
head.leftNode=second;
second.rightNode=five;
second.leftNode=four;
three.rightNode=seven;
three.leftNode=six;
System.out.print("广度优先遍历结果:");
broadFirstSearch(head);
System.out.println();
System.out.print("深度优先遍历结果:");
depthFirstSearch(head);
}
public static void broadFirstSearch(TreeNode treeNode){
if(treeNode==null){
return;
}
Queue<TreeNode> queue = new LinkedList<>();
queue.add(treeNode);
while (!queue.isEmpty()){
TreeNode node = queue.poll();
System.out.print(node.data+" ");
if(node.leftNode!=null)
queue.add(node.leftNode);
if(node.rightNode!=null)
queue.add(node.rightNode);
}
}
public static void depthFirstSearch(TreeNode treeNode){
if(treeNode==null){
return;
}
Stack<TreeNode> stack = new Stack<>();
stack.push(treeNode);
while (!stack.isEmpty()){
TreeNode node = stack.pop();
System.out.print(node.data+" ");
if(node.leftNode!=null)
stack.push(node.leftNode);
if(node.rightNode!=null)
stack.push(node.rightNode);
}
}
}
深度遍历和广度遍历
最新推荐文章于 2022-03-05 15:50:55 发布