Struktur Data Graph Universitas Muslim Indonesia Oleh Lutfi Budi Ilmawan Pendahuluan • Struktur data linear : • Array • Stack • Queue • Linked List • Struktur data non-linear : • Graph • Tree Pendahuluan • Graph adalah kumpulan dari vertex yang saling terhubung melalui edge. vertex v1 v2 edge v4 v3 v5 Pendahuluan • Graph G adalah pasangan berurutan (ordered pair) dari himpunan vertex V dan himpunan edge E, notasi matematikanya dapat dituliskan: G = (V, E) • Di mana • G = Graph • V = Vertex, atau node, atau simpul • E = Edge, atau arch, atau busur Contoh graph Jenis graph • Graph yang memiliki directed edges disebut sebagai Directed Graph atau Digraph. • Graph yang memiliki undirected edges disebut sebagai Undirected Graph. Contoh dari implementasi graph Rahmat Khairil Yusuf Ishak Wawan Akhsan Irfan Ardhan Alam Social Network (facebook) Akbar Jenis graph • Weighted graph • Unweighted graph Jenis graph • Weighted graph • Unweighted graph Jenis graph • Weighted graph, merupakan graph yang edge-nya memiliki weight (nilai). • Unweighted graph, merupakan weighted graph yang semua edge-nya memiliki weight = 1 unit. Representasi graph • Edge List • Adjacency Matrix Edge List • Kompleksitas ruang: • O(|V| + |E|) • Kompleksitas waktu, untuk menemukan node yang berhubungan: • O(E) atau O(|v|*|v|) • Untuk kompleksitas waktu misalkan: • Terdapat 10 node, maka kemungkinan koneksi untuk directed graph adalah 90 • Terdapat 1000 node, maka kemungkinan koneksi = 999.000 Adjacency Matrix • ๐ด๐๐ = 1, ๐๐ ∃ ๐๐๐๐ ๐๐๐๐ ๐ ๐ก๐ ๐ 0, ๐๐กโ๐๐๐ค๐๐ ๐ • Kompleksitas ruang: • O(|V2|) • Kompleksitas waktu, untuk menemukan node yang berhubungan: • O(V)