最常見的Java常見面試題問答(2)

發表于:2013-01-24來源:ImportNew作者:不詳點擊數: 標簽:java
樹是一種由節點組成的數據結構,每個節點都包含數據元素,并且有一個或多個子節點,每個子節點指向一個父節點(譯者注:除了根節點)可以表示層級關

  樹是一種由節點組成的數據結構,每個節點都包含數據元素,并且有一個或多個子節點,每個子節點指向一個父節點(譯者注:除了根節點)可以表示層級關系或者數據元素的順序關系。常用的場景有表示一個組織里的雇員層級關系,XML元素的層級關系,等等。如果樹的每個子節點最多有兩個葉子節點,那么這種樹被稱為二叉樹。二叉樹是一種非常常用的樹形結構, 因為它的這種結構使得節點的插入和刪除都非常高效。樹的邊表示從一個節點到另外一個節點的快捷路徑。

  Java里面沒有直接提供樹的實現,但是它很容易通過下面的方式來實現。只需要創建一個Node對象,里面包含一個指向葉子節點的ArrayList。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package bigo;
 
import java.util.ArrayList;
import java.util.List;
 
public class Node {
    private String name;
    private List<node> children = new ArrayList<node>( );
    private Node parent;
 
    public Node getParent( ) {
        return parent;
    }
 
    public void setParent(Node parent) {
        this.parent = parent;
    }
 
    public Node(String name) {
        this.name = name;
    }
 
    public void addChild(Node child) {
        children.add(child);
    }
 
    public void removeChild(Node child) {
        children.remove(child);
    }
 
    public String toString( ) {
        return name;
    }
 }

原文轉自:http://www.importnew.com/871.html

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97