Pengenalan:
Memvisualisasikan struktur pokok binari adalah penting untuk memudahkan pemahaman dan penyahpepijatan. Artikel ini mengkaji penyelesaian Java untuk mencetak pokok binari dalam format gambar rajah, memberikan gambaran yang jelas tentang struktur pokok itu.
Penyelesaian:
Matlamat utama penyelesaian ini adalah untuk mencetak pokok perduaan mengikut baris, serupa dengan contoh berikut:
4 / \ 2 5
Untuk tujuan ini, kod yang disediakan menetapkan kelas Nod tersuai:
public class Node<A extends Comparable> { Node<A> left, right; A data; public Node(A data){ this.data = data; } }
Mencetak mengikut Baris:
Pandangan utama penyelesaian ini ialah mencetak pepohon dengan cara atas ke bawah, baris demi barisan. Setiap anak nod dicetak pada baris berikutnya, dengan inden yang sesuai untuk menunjukkan tahap mereka dalam pokok.
Sebagai contoh, untuk menggambarkan pokok dengan struktur berikut:
4 / \ 2 5 / \ / 1 3 6
Output akan menyerupai yang berikut:
4 ├── 2 │ ├── 1 │ └── 3 └── 5 └── 6
Kod Pelaksanaan:
Logik teras dirangkumkan dalam kaedah cetakan kelas TreeNode:
public void print(StringBuilder buffer, String prefix, String childrenPrefix) { buffer.append(prefix); buffer.append(name); buffer.append('\n'); for (Iterator<TreeNode> it = children.iterator(); it.hasNext();) { TreeNode next = it.next(); if (it.hasNext()) { next.print(buffer, childrenPrefix + "├── ", childrenPrefix + "│ "); } else { next.print(buffer, childrenPrefix + "└── ", childrenPrefix + " "); } } }
Kaedah ini secara rekursif melintasi pokok, mencetak baris demi baris dan perakaunan untuk inden yang sesuai untuk menggambarkan pokok itu struktur.
Nota:
Walaupun penyelesaian ini memfokuskan pada mencetak pokok sembarangan, ia boleh diubah suai dengan mudah untuk menyasarkan pokok binari secara khusus dengan mengehadkan setiap nod untuk mempunyai maksimum dua orang anak.
Atas ialah kandungan terperinci Bagaimana untuk Mencetak Gambarajah Pokok Binari di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!