Rumah > Java > javaTutorial > Bagaimana untuk Mencetak Pokok Binari dalam Bentuk Hierarki di Jawa?

Bagaimana untuk Mencetak Pokok Binari dalam Bentuk Hierarki di Jawa?

DDD
Lepaskan: 2024-11-10 17:25:02
asal
310 orang telah melayarinya

How to Print a Binary Tree in Hierarchical Form in Java?

Cetak Pokok Binari Hierarki di Jawa

Untuk mencetak pokok binari, menunjukkan struktur hierarkinya dalam perwakilan teks, anda boleh menggunakan Builder corak. Corak ini membolehkan anda membina output seperti pepohon secara berperingkat.

Satu pendekatan ialah mencipta kelas TreeNode tersuai yang mewakili setiap nod dalam pepohon:

public class TreeNode<A extends Comparable> {
    TreeNode<A> left, right;
    A data;
}
Salin selepas log masuk

Untuk mencetak pepohon, anda boleh menggunakan fungsi pembantu rekursif yang membina perwakilan rentetan pepohon:

public String toString() {
    StringBuilder builder = new StringBuilder();
    print(builder, "", "");
    return builder.toString();
}

private void print(StringBuilder builder, String prefix, String childrenPrefix) {
    builder.append(prefix).append(data).append('\n');
    if (left != null) {
        left.print(builder, childrenPrefix + "├── ", childrenPrefix + "│   ");
    }
    if (right != null) {
        right.print(builder, childrenPrefix + "└── ", childrenPrefix + "    ");
    }
}
Salin selepas log masuk

Di sini, awalan mewakili awalan untuk nod semasa, dan childrenPrefix mewakili awalan untuk anak-anaknya. Fungsi ini secara rekursif mencetak setiap kanak-kanak dengan lekukan awalan yang sesuai.

Dengan memanggil toString() pada nod akar, anda boleh mendapatkan perwakilan hierarki keseluruhan pepohon:

TreeNode<Integer> root = new TreeNode<>(4);
root.left = new TreeNode<>(2);
root.right = new TreeNode<>(5);
System.out.println(root.toString());
Salin selepas log masuk

Ini akan keluaran:

4
├── 2
└── 5
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mencetak Pokok Binari dalam Bentuk Hierarki 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