首頁 >Java >java教程 >如何用Java實作具有任意子節點的樹狀資料結構?

如何用Java實作具有任意子節點的樹狀資料結構?

DDD
DDD原創
2024-12-24 13:53:10998瀏覽

How to Implement a Tree Data Structure with Arbitrary Child Nodes in Java?

在 Java 中實作樹資料結構

可以使用標準 Java 函式庫類別來實作在 Java 中表示樹。為了滿足節點具有任意數量的子節點並且節點和子節點都有字串值的特定要求,您可以考慮以下解決方案。

使用自訂樹結構

因為沒有針對具有任意子節點的樹的預定義 Java庫,您可以定義自訂樹結構:

public class Tree<T> {
    private Node<T> root;

    public Tree(T rootData) {
        root = new Node<>();
        root.data = rootData;
        root.children = new ArrayList<>();
    }

    public static class Node<T> {
        private T data;
        private Node<T> parent;
        private List<Node<T>> children;
    }
}

此基本樹結構允許您表示節點及其字串

遍歷方法

要取得給定節點的子節點及其字串值,您可以向Node類別新增輔助方法:

public List<String> getChildrenStrings() {
    List<String> childStrings = new ArrayList<>();
    for (Node<T> child : children) {
        childStrings.add(child.data);
    }
    return childStrings;
}

範例用法

要使用這個樹結構,你可以建立一個有根的樹節點:

Tree<String> myTree = new Tree<>("Root");

然後您可以將子節點加入根:

myTree.root.addChild("Child 1");
myTree.root.addChild("Child 2");

要擷取給定節點的子字串,您可以使用:

List<String> childStrings = myTree.root.getChildrenStrings();

以上是如何用Java實作具有任意子節點的樹狀資料結構?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn