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) )

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend