Berikut adalah contoh program sederhana dalam Python yang menerapkan operasi dasar pada struktur data pohon (trees), seperti penambahan (insertion), pencarian (searching), dan traversing (penelusuran) pohon biner. Pohon biner adalah jenis pohon di mana setiap node memiliki maksimal dua anak (left child dan right child).
1. Definisi Node
Setiap node dalam pohon akan diwakili oleh sebuah objek dari kelas Node
.
1. __init__
: Metode inisialisasi kelas Node
. Parameter key
digunakan untuk menetapkan nilai node. Setiap node dimulai tanpa anak kiri (left
) dan anak kanan (right
).2. Penambahan Node
Fungsi untuk menambahkan node ke dalam pohon.
Penjelasan :1. insert
: Fungsi ini menambahkan node baru ke dalam pohon. Jika root
adalah None
, maka node baru dibuat. Jika nilai key
lebih besar daripada nilai root, fungsi memanggil dirinya sendiri untuk menambahkan node ke subtree kanan; jika tidak, ke subtree kiri.3. Pencarian Node
Fungsi untuk mencari node dalam pohon.
Penjelasan :1. Search
: Fungsi ini mencari node dengan nilai key
dalam pohon. Jika node ditemukan atau pohon kosong, node dikembalikan. Jika nilai key
lebih besar dari nilai root, fungsi mencari di subtree kanan; jika tidak, di subtree kiri.4. Traversal Pohon
Traversal inorder (preorder dan postorder dapat ditambahkan dengan cara yang serupa).
Penjelasan :1.
inorder
: Fungsi ini menelusuri pohon secara inorder (kiri, root, kanan). Pertama-tama menelusuri subtree kiri, lalu mencetak nilai root, dan akhirnya menelusuri subtree kanan.5. Implementasi dan Pengujian
Komentar
Posting Komentar