Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

Like this presentation? Why not share!

- Graph applications chapter by Savit Chandra 177 views
- 2.5 dfs & bfs by Krish_ver2 709 views
- Graph theory by Thirunavukarasu Mani 584 views
- Graph Traversal Algorithm by jyothimonc 3987 views
- Breadth First Search of Graphs by Bhavik Limbani 1240 views
- Graph Traversal Algorithms - Depth ... by Amrinder Arora 1318 views

No Downloads

Total views

752

On SlideShare

0

From Embeds

0

Number of Embeds

1

Shares

0

Downloads

37

Comments

0

Likes

3

No embeds

No notes for slide

- 1. Graph AlgorithmsKasun Ranga Wijeweera(Email: krw19870829@gmail.com)
- 2. What is a Graph?• Intuitively, a graph is a collection of vertices (or nodes) andthe connections between them• Generally, no restriction is imposed on the number of verticesin the graph or on the number of connections one vertex canhave to other vertices
- 3. A Simple Graph• A simple graph G = (V, E) consists of a nonempty set V ofvertices and a possibly empty set E of edges, each edge being aset of two vertices from V• |V| = Number of vertices• |E| = Number of edges
- 4. A Directed Graph• A directed graph, or digraph, G = (V, E) consists of anonempty set V of vertices and a set E of edges (also calledarcs), where each edge is pair of vertices from V• The difference is that one edge of a simple graph is of theform {vi, vj}, and in this case, (vi, vj) != (vj , vi)
- 5. A Multi Graph• Above definitions are restrictive in that they do not allow fortwo vertices to have more than one edge• A multi graph is graph in which two vertices can be joined bymultiple edges• Formal Definition: A multi graph G = (V, E, f) is composed ofa set of vertices V, a set of edges E, and a functionf: E{(vi, vj): (vi, vj in V) and (vi != vj)}
- 6. A Pseudo Graph• A pseudo graph is a multi graph with the condition vi != vjremoved, which allows for loops to occur• In a pseudo graph, a vertex can be joined with itself by an edge
- 7. A Path• A path from v1 to vn is a sequence of edges edge(v1v2),edge(v2v3), . . . , edge(vn-1vn) and is denoted as path v1, v2, v3, .. . , vn-1, vn• If v1 = v2 and no edge is repeated, then the path is called acircuit• If all vertices in a circuit are different, then it is called a cycle
- 8. A Weighted Graph• A graph is called a weighted graph if each edge has anassigned number• Depending on the context in which such graphs are used, thenumber assigned to an edge is called it weight, cost, distance,length, or some other name
- 9. A Complete Graph• A graph with n vertices is called complete and is denoted K n iffor each pair of distinct vertices there is exactly one edgeconnecting them• The number of edges in such a graph|E| = |V|*(|V| - 1)*0.5
- 10. A Sub Graph• A sub graph G’ of graph G = (V, E) is a graph (V’, E’) suchthat V’ is a subset of V and E’ is a subset of E• A sub graph induced by vertices V’ is a graph (V’, E’) suchthat and edge e in E if e in E’
- 11. Adjacent? Incident?• Two vertices vi and vj are called adjacent if the edge(vivj) is inE• Such an edge is called incident with the vertices vi and vj
- 12. The Degree of a Vertex• The degree of a vertex v, deg(v), is the number of edgesincident with v• If deg(v) = 0, then v is called an isolated vertex
- 13. Adjacency Matrix• An adjacency matrix of graph G = (V, E) is a binary |V|*|V|matrix such that each entry of this matrixa ij1; if there exists an edge(vivj)0; otherwise
- 14. Incidence Matrix• An incidence matrix of graph G = (V, E) is a |V|*|E| matrixsuch that each entry of this matrixa ij1; if edge ej is incident with vertex vi0; otherwise
- 15. Graph Traversals• Traversing a graph consists of visiting each vertex only onetime• Graphs may include cycles that can cause infinite loops• To prevent infinite loops each visited vertex can be marked toavoid revisiting it• Graphs can have isolated vertices• To visit those isolated vertices special mechanisms are needed• The Depth First Search algorithm is a well known algorithmfor traversing graphs
- 16. Depth First Search Algorithm• Each vertex v is visited and then each unvisited vertexadjacent to v is visited• If a vertex v has no adjacent vertices or all of its adjacentvertices have been visited, we backtrack to the predecessor ofv• The traversal is finished if this visiting and backtrackingprocess leads to the first vertex where the traversal started• If there is still some unvisited vertices in the graph, thetraversal continues restarting for one of the unvisited vertices• The algorithm assigns a unique number to each accessedvertex so that vertices are now renumbered
- 17. Depth First Search AlgorithmdepthFirstSearch()for all vertices vnum(v) = 0;edges = null;i = 1;while there is a vertex v such that num(v) is 0DFS(v);output edges;
- 18. Depth First Search AlgorithmDFS(v)num(v) = i++;for all vertices u adjacent to vif num(u) is 0attach edge(uv) to edges;DFS(u);
- 19. Reference
- 20. Any Questions?
- 21. Thank You!

No public clipboards found for this slide

×
### Save the most important slides with Clipping

Clipping is a handy way to collect and organize the most important slides from a presentation. You can keep your great finds in clipboards organized around topics.

Be the first to comment