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; }
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 + " "); } }
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());
Ini akan keluaran:
4 ├── 2 └── 5
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!