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
Lepaskan: 2024-12-24 13:53:10
asal
994 orang telah melayarinya

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;
    }
}
Salin selepas log masuk

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;
}
Salin selepas log masuk

Contoh Penggunaan

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

Tree<String> myTree = new Tree<>("Root");
Salin selepas log masuk

Anda kemudian boleh menambah nod anak pada akar:

myTree.root.addChild("Child 1");
myTree.root.addChild("Child 2");
Salin selepas log masuk

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

List<String> childStrings = myTree.root.getChildrenStrings();
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan