NPM: 40622100066
NO 1. Tulislah versi dari potongan code mu sendiri mengenai cara membuat sebuah tree
menggunakan linked list?
Code Saya
#include <iostream>
// Konstruktor
Node(int value) : data(value), kiri(NULL), kanan(NULL) {}
};
return current;
}
public:
// Konstruktor
BinaryTree() : root(NULL) {}
int main() {
BinaryTree tree;
return 0;
}
1. Pertama buat dulu Struktur Node Untuk mendefinisikan struktur Node yang memiliki
data, pointer ke kiri, dan pointer ke kanan.
2. Lalu buat Kelas BinaryTree yang mendefinisikan kelas BinaryTree dengan anggota
privatenya yang mencakup pointer ke root dan beberapa fungsi, seperti insertRecursive
untuk menambahkan node secara rekursif dan inorderTraversal untuk mencetak pohon
secara inorder.
3. Membuat Fungsi main untuk membuat objek tree, menambahkan beberapa node ke
dalam pohon menggunakan fungsi insert, dan mencetak pohon secara inorder
menggunakan printInorder.
4. Yang terakhir Eksekusi hasil program yang akan mencetak traversal inorder dari binary
tree yang telah dibuat.
NO. 2 Tulislah versi dari potongan code mu sendiri mengenai cara membuat sebuah tree
menggunakan array?
Code Saya
#include <iostream>
struct TreeNode {
int data;
TreeNode* kiri;
TreeNode* kanan;
TreeNode(int value) : data(value), kiri(NULL), kanan(NULL) {}
};
void initializeTree() {
for (int i = 0; i < MAX_NODES; ++i) {
treeArray[i] = -1;
}
}
int main() {
initializeTree();
insertNode(10);
insertNode(5);
insertNode(15);
insertNode(3);
insertNode(7);
insertNode(12);
insertNode(18);
1. Langkah pertama buat dulu Struktur TreeNode Tentukan struktur data untuk
merepresentasikan node binarytree. Setiap node memiliki dua anak (kiri dan kanan) dan
satu nilai.
2. Langkah kedua Deklarasi dan Inisialisasi Array Tentukan array untuk menyimpan
elemen-elemen binarytree. Panjang array sebaiknya mencakup jumlah node yang
dibutuhkan.
3. Langkah ketiga yaitu Inisialisasi tree Isi array dengan nilai default atau nilai yang
menandakan bahwa suatu node tidak ada. Misalnya, bisa menggunakan nilai -1.
4. Langkah keempat Tambahkan Node ke tree Untuk menambahkan node baru ke tree, cari
posisi yang sesuai di dalam array dan masukkan nilainya.
NO. 4 Buatlah fungsi In Order pada binary tree menggunakan konsep recursive?
#include <iostream>
// Traverse ke kanan
inOrderTraversal(root->kanan);
}
}
int main() {
// Contoh pembuatan binary tree
Node* root = new Node(1);
root->kiri = new Node(2);
root->kanan = new Node(3);
root->kiri->kiri = new Node(4);
root->kiri->kanan = new Node(5);
return 0;
}
NO 5. Carilah contoh sample program traveling salesman problem dengan menggunakan
Graph
// update minimum
min_path = min(min_path, current_pathweight);
} while (
next_permutation(vertex.begin(), vertex.end()));
return min_path;
}
// Driver Code
int main()
{
// matrix representation of graph
int graph[][V] = { { 0, 10, 15, 20 },
{ 10, 0, 35, 25 },
{ 15, 35, 0, 30 },
{ 20, 25, 30, 0 } };
int s = 0;
cout << travllingSalesmanProblem(graph, s) << endl;
return 0;
}