Posts

Showing posts from May, 2026

Pertemuan 11 (implementasi tree)

Image
 Rinaltra Nabasa S 5025251024 Struktur Data D Perbedaan General Tree vs Binary Tree Pada tugas sebelumnya kita pakai Binary Tree (max 2 anak per node). Kini kita pakai General Tree — setiap node bisa punya anak sebanyak apapun, disimpan dalam vector<Node*> children . class Node { public: string name; Node* parent; // pointer ke parent (untuk path) vector<Node*> children; // bisa punya N anak }; Struktur Direktori yang Dibangun Program membangun tree ini: Root ├── Documents │ └── Kuliah ├── Pictures ├── Music └── Downloads ```--- Penjelasan Setiap Fitur 1. `addFolder` — Membuat Folder Baru Langkahnya: cari parent dengan `search()`, cek duplikat, lalu `push_back` node baru ke `children`. ```cpp Node* newFolder = new Node(folderName, parent); parent->children.push_back(newFolder); Perbedaan dari Binary Tree: tidak ada left / right , semua anak masuk ke vector . 2. deleteFolder — Menghapus Folder Menghapus folder beserta seluruh...

Pertemuan 10 (Tree)

Image
Rinaltra Nabasa S 5025251024 Struktur Data D Konsep Dasar Tree Tree adalah struktur data hierarki non-linear. Berbeda dengan array atau linked list yang bersifat linear, tree memiliki struktur bercabang seperti pohon terbalik — akar di atas, daun di bawah. Terminologi Penting Istilah Penjelasan Node Elemen/simpul dalam tree Root Node paling atas (tidak punya parent) Edge Garis penghubung antar node Parent Node yang memiliki anak Child Node yang berada di bawah parent Leaf Node yang tidak punya anak Height Jarak dari root ke leaf terdalam Struktur Kode 1. Struct Node struct Node { char data; // nilai yang disimpan Node* left; // pointer ke anak kiri Node* right; // pointer ke anak kanan }; Ini adalah Binary Tree — setiap node maksimal punya 2 anak (kiri dan kanan). 2. Cara Membangun Tree ( main ) Kode menggunakan Level-Order Insertion dengan queue . Setiap node baru diisi ke posisi paling kiri yang kosong, baris per b...