GRAPHS ÖZET
Graph Representations Adjacency List Adjacency Matrix Other Representations? Combinations of Data Structures
Çizgelerin Dolaşılması Graph Traversal Derinlik Öncelikli Dolaşma Depth-First Traversal Genişlik Öncelikli Dolaşma Breadth-First Traversal
Depth-First Traversal The pseudocode of depth-first traversal algorithm: Boolean visited[MAXVERTEX]; void DepthFirst(Graph G) { Vertex v; for (all v in G) visited[v] = FALSE; if (!visited[v]) Traverse(v); }
Depth-First Traversal void Traverse(Vertex v){ visited[v] = TRUE; Visit(v); for (all w adjacent to v) if (!visited[w]) Traverse(w); } Zaman Karmaşıklığı : O(n+e) veya O(V+E) n, köşe sayısı e, kenar sayısı olmak üzere
Breadth-First Traversal The pseudocode of breadth-first traversal algorithm: BFS(G,s) for each vertex u in V visited[u] = false Report(s) visited[s] = true initialize an empty Q Enqueue(Q,s) 6
Breadth-First Traversal While Q is not empty do u = Dequeue(Q) for each v in Adj[u] do if visited[v] = false then Report(v) visited[v] = true Enqueue(Q,v) Zaman Karmaşıklığı : O(n+e) veya O(V+E) n, köşe sayısı e, kenar sayısı olmak üzere 7
En Küçük Kapsayan Ağaç MST (Minimum Spanning Tree) Prim’s Algorithm Kruskal’s Algorithm …
Algoritmanın karmaşıklığını, uygulanan sıralama algoritmasının karmaşıklığı belirler: O(|E| lg |E|)
Prim ve Kruskal Algoritmalarının daha etkin olanlarını araştırınız!
Floyd-Warshall: Pseudocode for i := 1 to n do for j := 1 to n do cost[i, j] := c[i, j]; // Let c[u, u] := 0 for k := 1 to n do sum = cost[i, k] + cost[k, j]; if(sum < cost[i, j]) then cost[i, j] := sum; An algorithm to solve the all pairs shortest path problem in a weighted, directed graph