cs 225
play

CS 225 Data Structures Apr April 10 10 Gr Graph Imp mpleme - PowerPoint PPT Presentation

CS 225 Data Structures Apr April 10 10 Gr Graph Imp mpleme mentation Wade Fa Wa Fagen-Ul Ulmsch schnei eider er, , Cra Craig ZI ZIlles Gr Grap aphs To study all of these structures: 1. A common vocabulary 2. Graph


  1. CS 225 Data Structures Apr April 10 10 – Gr Graph Imp mpleme mentation Wade Fa Wa Fagen-Ul Ulmsch schnei eider er, , Cra Craig ZI ZIlles

  2. Gr Grap aphs To study all of these structures: 1. A common vocabulary 2. Graph implementations 3. Graph traversals 4. Graph algorithms

  3. Gr Grap aph ADT Functions: - insertVertex(K key); Data: - insertEdge(Vertex v1, Vertex v2, K key); - Vertices - Edges - removeVertex(Vertex v); - Some data structure - removeEdge(Vertex v1, Vertex v2); maintaining the structure between vertices and edges. - incidentEdges(Vertex v); - areAdjacent(Vertex v1, Vertex v2); V b d X Z h - origin(Edge e); e - destination(Edge e); W g f Y

  4. Graph Implem emen entation: Edge e List Vertex Collection: u a c b d v w z Edge Collection: u u v a v v w b w u w c z w z d

  5. Graph Implem emen entation: Edge e List insertVertex(K key): u a c b d v w z removeVertex(Vertex v): u u v a v v w b w u w c z w z d

  6. Graph Implem emen entation: Edge e List incidentEdges(Vertex v): u a c b d v w z u u v a areAdjacent(Vertex v1, Vertex v2): v v w b w u w c G.incidentEdges(v1).contains(v2) z w z d

  7. Graph Implem emen entation: Edge e List insertEdge(Vertex v1, Vertex v2, K key): u a c b d v w z u u v a v v w b w u w c z w z d

  8. Graph Implem emen entation: Adja jacen ency Matrix u a c b d v w z u v w z u u v a u v v w b v w u w c w z w z d z

  9. Graph Implem emen entation: Adja jacen ency Matrix u a c b d v w z u v w z u u v a u - 1 1 0 v v w b v - 1 0 w u w c w - 1 z w z d z -

  10. Graph Implem emen entation: Adja jacen ency Matrix u a c b d v w z u v w z u u v a u - 0 v v w b v - 0 w u w c w - z w z d z -

  11. Graph Implem emen entation: Adja jacen ency Matrix insertVertex(K key): u a c b d v w z u v w z u u v a u - 0 v v w b v - 0 w u w c w - z w z d z -

  12. Graph Implem emen entation: Adja jacen ency Matrix removeVertex(Vertex v): u a c b d v w z u v w z u u v a u - 0 v v w b v - 0 w u w c w - z w z d z -

  13. Graph Implem emen entation: Adja jacen ency Matrix incidentEdges(Vertex v): u a c b d v w z u v w z u u v a u - 0 v v w b v - 0 w u w c w - z w z d z -

  14. Graph Implem emen entation: Adja jacen ency Matrix areAdjacent(Vertex v1, Vertex v2): u a c b d v w z u v w z u u v a u - 0 v v w b v - 0 w u w c w - z w z d z -

  15. Graph Implem emen entation: Adja jacen ency Matrix insertEdge(Vertex v1, Vertex v2, K key): u a c b d v w z u v w z u u v a u - 0 v v w b v - 0 w u w c w - z w z d z -

  16. Graph Implem emen entation: Edge e List u a c b d v w z u v a u v w b v w u w c w z d z

  17. Adja jacen ency List u a c b d v w z a c u v a u d=2 a b v w b v d=2 b c d w u w c d=3 w z d z d d=1

  18. Adja jacen ency List u a c b d v w z a c u v a u d=2 a b v w b v d=2 b c d w u w c d=3 w z d z d d=1

  19. insertVertex(K key): Adja jacen ency List u a c b d v w z a c u v a u d=2 a b v w b v d=2 b c d w u w c d=3 w z d z d d=1

  20. removeVertex(Vertex v): Adja jacen ency List u a c b d v w z a c u v a u d=2 a b v w b v d=2 b c d w u w c d=3 w z d z d d=1

  21. incidentEdges(Vertex v): Adja jacen ency List u a c b d v w z a c u v a u d=2 a b v w b v d=2 b c d w u w c d=3 w z d z d d=1

  22. areAdjacent(Vertex v1, Vertex v2): Adja jacen ency List u a c b d v w z a c u v a u d=2 a b v w b v d=2 b c d w u w c d=3 w z d z d d=1

  23. insertEdge(Vertex v1, Vertex v2, K key): Adja jacen ency List u a c b d v w z a c u v a u d=2 a b v w b v d=2 b c d w u w c d=3 w z d z d d=1

  24. Edge List Adjacency Matrix Adjacency List Expressed as O(f) Space n+m n 2 n+m insertVertex(v) 1 n 1 removeVertex(v) m n deg(v) insertEdge(v, w, k) 1 1 1 removeEdge(v, w) 1 1 1 incidentEdges(v) m n deg(v) min( deg(v), areAdjacent(v, w) m 1 deg(w) )

Recommend


More recommend