Rumah >Java >javaTutorial >Bagaimana untuk Melaksanakan Struktur Data Pokok dengan Nod Anak Arbitrari di Jawa?

Bagaimana untuk Melaksanakan Struktur Data Pokok dengan Nod Anak Arbitrari di Jawa?

DDD
DDDasal
2024-12-24 13:53:101046semak imbas

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

Melaksanakan Struktur Data Pokok dalam Java

Mewakili pokok dalam Java boleh dicapai menggunakan kelas perpustakaan Java standard. Untuk memenuhi keperluan khusus anda di mana nod mempunyai bilangan kanak-kanak sewenang-wenangnya dan kedua-dua nod dan kanak-kanak mempunyai nilai rentetan, anda boleh mempertimbangkan penyelesaian berikut.

Menggunakan Struktur Pokok Tersuai

Memandangkan tiada perpustakaan Java yang dipratentukan untuk pokok dengan kanak-kanak sewenang-wenangnya, anda boleh menentukan struktur pokok tersuai:

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;
    }
}

Struktur pokok asas ini membolehkan anda mewakili nod dan nilai rentetannya.

Kaedah untuk Traversal

Untuk mendapatkan kanak-kanak dan nilai rentetan mereka untuk nod tertentu, anda boleh menambah kaedah pembantu pada kelas Nod:

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

Contoh Penggunaan

Untuk menggunakan struktur pokok ini, anda boleh mencipta pokok dengan akar nod:

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

Anda kemudian boleh menambah nod anak pada akar:

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

Untuk mendapatkan semula rentetan kanak-kanak untuk nod yang diberikan, anda boleh menggunakan:

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

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Struktur Data Pokok dengan Nod Anak Arbitrari di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn