(一)图是一种多对多的数据结构,其中结点可以具有零个或多个相邻元素。两个结点之间的连接称为边。结点也可以称为顶点。

(二)图的表示方式有两种:1.二维数组(邻接矩阵)2.链表(邻接表)

 

(三)图的遍历:

 

 

 

 (四)树的深度优先遍历代码:

1.非递归

 1 /**
 2 public class TreeNode {
 3     int val = 0;
 4     TreeNode left = null;
 5     TreeNode right = null;
 6 
 7     public TreeNode(int val) {
 8         this.val = val;
 9 
10     }
11 
12 }
13 */
14 
15 public class Solution {
16     public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
17         ArrayList<Integer> lists=new ArrayList<Integer>();
18         if(root==null)
19             return lists;
20         Stack<TreeNode> stack=new Stack<TreeNode>();
21         stack.push(root);
22         while(!stack.isEmpty()){
23             TreeNode tree=stack.pop();
24       //先往栈中压入右节点,再压左节点,这样出栈就是先左节点后右节点了。
25             if(tree.right!=null)
26                 stack.push(tree.right);
27             if(tree.left!=null)
28                 stack.push(tree.left);
29             lists.add(tree.val);
30         }
31         return lists;
32     }
33 }

2.递归

 1 public void depthOrderTraversalWithRecursive()  
 2 {  
 3     depthTraversal(root);  
 4 }  
 5       
 6 private void depthTraversal(TreeNode tn)  
 7 {  
 8         if (tn!=null)   
 9         {  
10             System.out.print(tn.value+"  ");  
11             depthTraversal(tn.left);  
12             depthTraversal(tn.right);  
13         }         
14 } 

 

(五)树的广度优先遍历代码

 1 public class Solution {
 2     public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
 3         ArrayList<Integer> lists=new ArrayList<Integer>();
 4         if(root==null)
 5             return lists;
 6         Queue<TreeNode> queue=new LinkedList<TreeNode>();
 7         queue.offer(root);
 8         while(!queue.isEmpty()){
 9             TreeNode tree=queue.poll();
10             if(tree.left!=null)
11                 queue.offer(tree.left);
12             if(tree.right!=null)
13                 queue.offer(tree.right);
14             lists.add(tree.val);
15         }
16         return lists;
17     }
18 }

 

posted @ 2021-04-14 16:44  Only、  阅读(62)  评论(0)    收藏  举报