Disusun oleh :
Ulil Abshor
G.231.21.0034
Kumpulan simpul V
B. TERMINLOGI GRAF
a) Adjacency
Suatu simpul dikatakan bertetangga dengan simpul lain jika
ada sisi yang menghubungkannya. Simpul 2 dan 3 tidak
bertetangga karena tidak ada sisi di antara keduanya.
b) Path
Urutan sisi yang memungkinkan Anda pergi dari simpul A ke
simpul B disebut jalur. 0-1, 1-2 dan 0-2 adalah lintasan dari
simpul 0 ke simpul 2
c) Grafik Berarah
Sebuah grafik di mana sisi (u,v) tidak selalu berarti bahwa
ada sisi (v, u) juga. Tepi-tepi dalam grafik seperti itu diwakili oleh
panah untuk menunjukkan arah tepi.
C. REPRESENTASI GRAFIK
Grafik umumnya direpresentasikan dalam dua cara:
1. Matriks Kedekatan
Matriks adjacency adalah larik 2D dari simpul V x V.
Setiap baris dan kolom mewakili sebuah simpul. Jika nilai
dari setiap elemen a[i][j] adalah 1, ini menyatakan bahwa
ada sebuah sisi yang menghubungkan simpul i dan simpul j.
Matriks ketetanggaan untuk graf yang kita buat di atas
adalah
2. Daftar Adjacency
Daftar adjacency mewakili grafik
sebagai larik daftar tertaut. Indeks array mewakili sebuah
simpul dan setiap elemen dalam daftar tertautnya
mewakili simpul lain yang membentuk sisi dengan simpul
tersebut. Daftar adjacency untuk graf yang kita buat pada
contoh pertama adalah sebagai berikut :
Daftar adjacency efisien dalam hal penyimpanan
karena kita hanya perlu menyimpan nilai untuk edge.
Untuk grafik dengan jutaan simpul, ini bisa berarti banyak
ruang yang dihemat
D. GRAPH OPERATIONS
Operasi grafik yang paling umum adalah:
Periksa apakah elemen tersebut ada dalam grafik
Penjelajahan Graf
Tambahkan elemen (simpul, tepi) ke grafik
Menemukan jalur dari satu simpul ke simpul lainnya
E. GREEDY ALGORITHM
Dalam tutorial ini, Anda akan mempelajari apa itu Algoritma
Greedy. Juga, Anda akan menemukan contoh pendekatan
serakah.
Algoritma serakah adalah pendekatan untuk memecahkan
masalah dengan memilih opsi terbaik yang tersedia saat ini. Tidak
perlu khawatir apakah hasil terbaik saat ini akan membawa hasil
yang optimal secara keseluruhan.
Algoritme tidak pernah membalikkan keputusan sebelumnya
meskipun pilihannya salah. Ini bekerja dalam pendekatan top-
down.
Algoritma ini mungkin tidak menghasilkan hasil terbaik untuk
semua masalah. Itu karena selalu memilih pilihan terbaik lokal
untuk menghasilkan hasil terbaik global.
Namun, kami dapat menentukan apakah algoritme dapat
digunakan dengan masalah apa pun jika masalah tersebut
memiliki properti berikut:
2) Substruktur Optimal
Jika solusi keseluruhan yang optimal untuk masalah
tersebut sesuai dengan solusi optimal untuk submasalahnya,
maka masalah tersebut dapat diselesaikan dengan
menggunakan pendekatan serakah. Properti ini disebut
substruktur optimal.
1. Mari kita mulai dengan simpul akar 20. Berat anak kanan
adalah 3 dan berat anak kiri adalah 2.
Namun, itu bukan solusi optimal. Ada jalur lain yang memiliki
bobot lebih (20 + 2 + 10 = 32) seperti yang ditunjukkan pada
gambar di bawah.
Oleh karena itu, algoritma serakah tidak selalu
memberikan solusi yang optimal/layak
G. GREEDY ALGORITHM