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.

Penjelasan :
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

            











Penjelasan :
  • Pertama, sebuah pohon biner dibuat dengan node-root bernilai 50, kemudian node lain ditambahkan menggunakan fungsi insert.
  • Fungsi inorder digunakan untuk mencetak semua nilai node dalam pohon secara inorder.
  • Fungsi search digunakan untuk mencari node dengan nilai tertentu (40).


  • Komentar

    Postingan populer dari blog ini

    Algoritma deskriptif,flowchart dan pseudocode