Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Melaksanakan Struktur Data Pokok di Java untuk Mengendalikan Nod dengan Kanak-kanak Arbitrari dan Nilai Rentetan?

Bagaimanakah Saya Boleh Melaksanakan Struktur Data Pokok di Java untuk Mengendalikan Nod dengan Kanak-kanak Arbitrari dan Nilai Rentetan?

Susan Sarandon
Susan Sarandonasal
2024-12-18 07:45:10674semak imbas

How Can I Implement a Tree Data Structure in Java to Handle Nodes with Arbitrary Children and String Values?

Melaksanakan Struktur Data Pokok dalam Java

Apabila berurusan dengan data hierarki, struktur pokok memainkan peranan penting. Soalan ini meneroka kemungkinan menggunakan kelas perpustakaan Java standard untuk mewakili pepohon yang memenuhi keperluan khusus:

  • Nod boleh mempunyai bilangan anak yang sewenang-wenangnya.
  • Nod (kecuali akar ) dan anak-anak mereka mempunyai nilai rentetan.
  • Terdapat keperluan untuk mendapatkan nod anak dan nilai rentetan mereka untuk mana-mana nod.

Menyiasat perpustakaan Java, kami mendapati ia tidak menyediakan kelas yang memenuhi spesifikasi tepat ini. Oleh itu, mencipta struktur pokok tersuai menjadi perlu.

Berikut ialah pelaksanaan mudah yang memenuhi keperluan:

public class Tree<T> {
    private Node<T> root;
    
    public Tree(T rootData) {
        root = new Node<T>();
        root.data = rootData;
        root.children = new ArrayList<Node<T>>();
    }
    
    public static class Node<T> {
        private T data;
        private Node<T> parent;
        private List<Node<T>> children;
    }
}

Struktur ini mentakrifkan pokok dan nod akarnya. Setiap nod mempunyai nilai (medan data), nod induk (untuk nod bukan akar), dan senarai nod anak. Kaedah getter mudah boleh ditambah untuk mendapatkan semula kanak-kanak dan nilai rentetan mereka.

public List<String> getChildrenValues(Node<String> node) {
    List<String> childrenValues = new ArrayList<>();
    for (Node<String> child : node.children) {
        childrenValues.add(child.data);
    }
    return childrenValues;
}

Dengan pelaksanaan ini, anda boleh mencipta dan memanipulasi struktur pokok yang memenuhi keperluan yang ditetapkan. Kaedah untuk menambah, mengalih keluar dan melintasi pokok boleh ditambah mengikut keperluan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Struktur Data Pokok di Java untuk Mengendalikan Nod dengan Kanak-kanak Arbitrari dan Nilai Rentetan?. 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