Contoh artikel ini menjelaskan metode menggunakan Java untuk menggunakan merger dan penghapusan untuk menghapus node di pohon biner. Bagikan untuk semua orang untuk referensi Anda. Analisis spesifiknya adalah sebagai berikut:
Gagasan implementasi sangat sederhana:
Pertama: temukan node yang harus dihapus
Kedua: Jika simpul yang dihapus tidak ada subtree kanan, maka rantai sub -tree kiri ke node induk
Ketiga: Jika node yang dihapus tidak tersisa, rantai sub -tree kiri ke node induk
Forth: Jika node yang dihapus di kiri dan kanan, maka Anda dapat menggabungkan sub -tree setelah node hapus: Ada dua cara untuk menggunakan simpul kanan sub -tree kiri yang menghapus node, arahkan ke sub -tree kanan dari simpul hapus, dan yang lainnya adalah untuk mengarahkan sub -tree kiri dari simpul yang dihapus dengan simpul paling kiri dari jumlah kata dari simpul yang dihapus.
Implementasi Java adalah sebagai berikut:
Public void deletyerring (int el) {intbstnode tmp, node, p = root, prev = null;/*Temukan node yang dihapus*/while (p! = Null && key! = El) rev = p; .Key <el) p = p.right; ) // Node tidak memiliki anak yang tepat (jika ada) dilampirkan ke node.left; Terlampir pada node = node.richt // catnya {tmp = node.left; ; ., Node;} else prev.richt = node} else if (root! = null) {System.out.println ("Node tidak ada di pohon");Diharapkan bahwa artikel ini bermanfaat untuk desain program Java semua orang.