Graph data structure


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Graph data structure

  1. 1. Graphs Part-II
  2. 2. Topics in discussion Introduction to graphs Directed and undirected graphs Paths Connected graphs Trees Degree Isomorphic graphs Cut set Labeled graphs Hamiltonian circuit
  3. 3. Introduction to graphs• Graph is a mathematical structure used to model pair wise relations between objects from a certain collection. Vertices Edges
  4. 4. Directed and undirected graphs• A graph is said as directed graph whose definition makes reference to edges which are directed. Ie, edges which are ordered pair of vertices.• A graph is said as undirected graph whose definition makes reference to unordered pairs of vertices as edges is known as an undirected graph.
  5. 5. Paths• A path in a graph is a sequence of vertices such that from each of its vertices there is an edge to the next vertex in the sequence.• The length of a path is the number of edges on it. The length can be zero for the case of a single vertex.
  6. 6. • A path may be infinite.• A finite path always has a first vertex, called its start vertex, and a last vertex, called its end vertex.• Both of them are called terminal vertices of the path.• The other vertices in the path are internal vertices. B A E Path= A B D C E D C A- Start vertex E- End vertex
  7. 7. Simple path• A graph with no loops or multiple edges is called a simple graph.• A path with no repeated vertices is called a simple path.• The path from v1 to v4 is said to be simple path as vertices is touched more than once.• The path from v1 to v4 is not simple as v1 is touched twice or looped. cycle:• Simple path, except that the last vertex is the same as the first vertex. Its also known as a circuit or circular path. A B E C Path= A E C A D
  8. 8. Connected graph• Two vertices vi, vj in a graph G is said to be connected only if there is a path in G between vi and vj.• A undirected graph is said to be connected graph if every pair of distinct vertices vi, vj are connected. Connected undirected graph
  9. 9. • In the case of an undirected graph, which is not connected,the maximal connected subgraph is called as a connected component or simply a component. The graph below has 3 connected components.
  10. 10. Connected directed graph• A directed graph is said to be strongly connected only if every pair of distinct vertices vi, vj are connected.• If there is a directed path from vi to vj then there must be a directed path from vj to vi. A strongly connected directed graph
  11. 11. • Strongly connected components of directed graph• The below graph is not strongly connected but is said to possess two strongly connected components.
  12. 12. Trees• A tree is defined to be a connected acyclic graph. The following properties are satisfied by a tree: There exist a path between any two vetices of the tree No cycles must be present in the tree ie, trees are acyclic. A Tree Not a tree
  13. 13. • Terms like parent, child, ancestors,level are missing but both the definitions of tree in datastructures and in graph share the same properties of connectedness and acyclicity. Both have the same properties of connectedness and acyclicity.
  14. 14. Degree• The degree of vertex in an undirected graph is the number of edges incident to that vertex.• A vertex with degree one is called pendent vertex or end vertex.• A vertex with degree zero and hence has no incident edges is called an isolated vertex. A V1 B Isolated vertex Pendent vertex In the undirected graph vertex v3 has the degree 3 And vertex v2 has the degree 2
  15. 15. Degree in directed graph• Degree of directed graph has two types i. Indegree No of edges with their head towards the vertex. ii. Outdegree No of edges with their tail towards the vertex. Indegree of vertex v2 is 2 and Outdegree of vertex v1 is 1.
  16. 16. Example: 0 3 2 0 1 2 3 3 3 1 2 3 3 4 5 6 31 G 1 1 G2 1 1 3 0 in:1, out: 1 Directed graph in-degree out-degree 1 in: 1, out: 2 2 in: 1, out: 0 G3
  17. 17. Isomorphic graphs• Isomorphism – Two graphs are isomorphic, if they are structurally identical, Which means that they correspond in all structural details. – Formal vertex-to-vertex and edge –to-edge correspondence is called isomorphism.• Two graph are said to be isomorphic if  They have the same no of vertices.  They have the same number of edges.  They have an equal number of vertices with a given degree.
  18. 18. Verifying Isomorphic graph Graph B Graph A Vertices(A) : a b c d e Vertices(B): q p r s t Degree of 2 3 3 3 1 vertices: Edges(A): e1 e2 e3 e4 e5 e6 Edges(B): e’1 e’4 e’3 e’2 e’5 e’6
  19. 19. Examples for non isomorphic graphs : i) u2 v2 u3 u1 v1 v3 u5 u4 v4 1st graph has more edges than 2nd.
  20. 20. ii) 2nd graph has vertex of degree 1, 1st graph doesnt. u2 v2 u3 v3 u1 v1 u5 u4 v5 v4
  21. 21. iii) 1st graph has 2 degree 1 vertices, 4 degree 2 vertex and 2 degree 3 vertices. 2nd graph has 3 degree 1 vertices, 3 degree 2 vertex and 3 degree 3 vertices.u1 u2 u3 u4 u5 u6 v1 v2 v3 v4 v5 v6 u7 u8 u9 v7 v8 v9
  22. 22. Cut set• Cut set is a connected graph G is the set of edges whose removal from G leaves G disconnected, Provided the removal of no proper sebset of these edges disconnects the graph G.• Cut set are also called proper cut set or minimal cut set.
  23. 23. • If one can remove a vertex (and all incident edges) and produce a graph with more components, the vertex is called a cut vertex or articulation point.• Similarly if removal of an edge creates more components the edge is called a cut edge or bridge.• The cut-set of the cut is the set of edges whose end points are in different subsets of the partition. Edges are said to be crossing the cut if they are in its cut-set.
  24. 24. Labeled graph• A graph G is called a labeled graph if its edges and/or vertices are assigned some data.• A graph labeling is the assignment of labels, traditionally represented by integers, to the edges or vertices, or both, of a graph.• If the edge e is assigned a non-negative number then it is called the weight or length of the edge e.
  25. 25. • Vertex-labeled graph • If all the vertices in a graph are given a label then it is vertex-labeled graph• Edge-labeled graph • If all the Edges in a graph are given a label then it is Edge-labeled graph
  26. 26. Hamiltonian circuit• Hamiltonian paths and circuits are named after the mathematician ,William Rowan Hamilton.• A Hamiltonian circuit in a connected graph is defined as a closed walk that traverses every vertex of G exactly once. also called Hamiltonian cycles.• It is called as circuit if it includes every vertex of G. If any edge is removed then it is Hamiltonian path. Hamiltonian circuit: {v1,v3,v4,v2,v6,v5,v1} The above is a Hamiltonian circuit as each and every vertex is traversed once And completes the circuit by ending in starting point.
  27. 27. • A Hamiltonian path or traceable path is a path that visits each vertex exactly once. Its also called as a traceable graph. a b Hamiltonian path d c• A graph is Hamiltonian-connected if for every pair of vertices there is a Hamiltonian path between the two vertices.
  28. 28. Thank you