Program ini dibuat sebagai bagian dari tugas mata kuliah Struktur Data dan Algoritma.
Pembuat: Muhammad Rizkiana Pratama (NIM 2404421).
Program mengimplementasikan struktur data tree dengan fitur tambahan berupa pencatatan konsekuensi di setiap simpul. Program menerima input berupa daftar simpul beserta induknya, kemudian membangun tree menggunakan algoritma DFS. Setelah itu, program dapat menampilkan tree, memangkas tree berdasarkan jalur ke simpul target (pruning), dan menampilkan daftar konsekuensi yang terkait.
- Membuat tree dari input sejumlah simpul.
- Menambahkan anak simpul ke simpul induk tertentu.
- Menambahkan konsekuensi ke setiap simpul.
- Menghitung indentasi untuk keperluan pencetakan tree.
- Mencetak tree dengan format terindentasi (PreOrder).
- Mencari jalur ke simpul target dan melakukan pruning sehingga hanya tersisa jalur menuju simpul target.
- Menampilkan konsekuensi dari simpul target.
-
Input simpul sebanyak
ndenganmkonsekuensi- Menggunakan
findSimpul(DFS) untuk mencari posisi penambahan simpul → kasus terburukO(n). - Karena ada
nsimpul, total kompleksitas input adalah O(n² + m).
- Menggunakan
-
Hitung indentasi
- Kompleksitas O(n + m) (simpul + konsekuensi).
-
Print tree
- Kompleksitas O(n + m).
-
Pruning
- Menggunakan DFS → kompleksitas O(n).
-
Print konsekuensi
- Kompleksitas O(m).
📌 Kesimpulan: Total kompleksitas program adalah O(n² + m).
Gunakan GCC:
gcc main.c mesin.c -o tmd.exe
./tmd.exe