Tugas Graph
Implementasi Graph Dengan Bahasa Java
Graph merupakan struktur
data yang paling umum. Jika struktur linear memungkinkan pendefinisian
keterhubungan sikuensial antara entitas data, struktur data tree memungkinkan
pendefinisian keterhubungan hirarkis, maka struktur graph memungkinkan
pendefinisian keterhubungan tak terbatas antara entitas data.
https://raw.githubusercontent.com/uber/react-vis-force/master/docs/react-vis-force.gif
Suatu graph didefinisikan oleh himpunan verteks dan
himpunan sisi (edge). Verteks menyatakan entitas-entitas data dan sisi
menyatakan keterhubungan antara verteks. Biasanya untuk suatu graph G digunakan
notasi matematis G = (V, E) V adalah himpunan verteks dan E himpunan sisi yang
terdefinisi antara pasangan-pasangan verteks. Sebuah sisi antara verteks x dan
y ditulis {x, y}.
Pada Graph juga dikenal
beberapa istilah diantaranya :
·
weight = berat/ panjang dari suatu edge.
·
un/weighted graph = edge pada suatu graf yang
memiliki/tidak memiliki weight.
·
un/directed edge = apabila sebuah edge bersifat dua arah/satu
arah.
·
path = urutan satu atau lebih edge yang
dilewati untuk menghubungkan dua buah vertex.
·
connected = sebuah graf dimana terdapat
setidaknya satu buah path untuk setiap pasang vertex.
·
cycle = path yang berawal dan berakhir
pada satu buah vertex yang sama tanpa melewati dua buah edge yang sama.
·
Tree = undirected connected graf yang
tidak memiliki cycle.
·
root = vertex dengan kedalaman ter-rendah.
Dalam
penulisan Program dari graph terdapat 2 cara yaitu dalam bentuk matriks dan
linked list . pada kesempatan kali ini akan diimplementasikan representasi
Graph dalam kedua bentuk tersebut :
Ilustrasi Graph :
Source Code :
Adjacency Lists Implementation
Adjacency Matrix Implementation
Dokumentasi :
Refrensi :
https://stackabuse.com/graphs-in-java-representing-graphs-in-code
Comments
Post a Comment