2. Graph Operation Graph Structure Adjacency List Create Graph Insert Vertex Insert Arc Retrieve Vertex Avoid Taking Printout : Use RTF Outline in case needed 2 Agenda
3. Operations (6) Add Vertex Delete Vertex Add Edge Delete Edge Find Vertex Traverse Graph Please Do Not Take Printout : Use RTF Outline in case needed 3
11. Create Adjacency List Please Do Not Take Printout : Use RTF Outline in case needed 6 Delhi Nagpur Mumbai Kolkatta Hyderabad Chennai Bangalore
12. Please Do Not Take Printout : Use RTF Outline in case needed 7 6 Adjacency List 2 2 p 2 2 p 2 1 p 1 1 p 2 3 p 1 1 p Vertex List
13. createGraph If (mem available) allocate (newPtr) newPtr->count=0 newPtr->first=null Else newPtr=null Return newPtr Please Do Not Take Printout : Use RTF Outline in case needed 8
14. insertVertex If (mem Not available) return -1 allocate (newPtr) Init all 6 Find Insertion Point Empty Graph … at beginning Middle Before First Vertex Please Do Not Take Printout : Use RTF Outline in case needed 9
15. insertArc If (mem Not available) return -1 Locate from Locate to Insert New Arc outDegree of from inDegree of to Allocate Set destination of new ptr to “toPtr” Set ptr of from to newPtr (explained in next page) Please Do Not Take Printout : Use RTF Outline in case needed 10
16. insertArc Find Insertion Point Empty List … at first arc Middle Before First Arc Please Do Not Take Printout : Use RTF Outline in case needed 11
17. Retrieve Vertex If Graph -> first null return -2 Else set curr to first loop till you find if found set data out return 1 else return -2 Please Do Not Take Printout : Use RTF Outline in case needed 12
18. Minimum Spanning Tree Shortest Path Avoid Taking Printout : Use RTF Outline in case needed 13 Agenda
19. Walk Thru Minimum Spanning Tree Prim / Dijikstra (pg 579) Kruskal Shortest Path Algorithm Please Do Not Take Printout : Use RTF Outline in case needed 14
20. Minimum ST Please Do Not Take Printout : Use RTF Outline in case needed 15 Delhi: 5 or 3 D,N: 5,3,or 2 D,N,H:5,3,3 D,N,H,M:4,3 D,N,H,M,B:3 D,N,H,M,B,C:5 D,N,H,M,B,C,K Delhi 5 3 Nagpur 3 Mumbai Kolkata 2 Hyderabad 5 4 3 3 Chennai Bangalore
21. Minimum ST Please Do Not Take Printout : Use RTF Outline in case needed 16 Start With Mumbai Delhi 5 3 Nagpur 3 Mumbai Kolkata 2 Hyderabad 5 4 3 3 Chennai Bangalore
30. Please Do Not Take Printout : Use RTF Outline in case needed 19 6 Adjacency List 2 2 p 2 2 p 2 1 p 1 1 p 2 3 p 1 1 p Vertex List
31. Shortest Path Please Do Not Take Printout : Use RTF Outline in case needed 20 Delhi : ∞ 5 3 Nagpur ∞ 3 Mumbai : ∞ Kolkata ∞ 2 Hyderabad ∞ 5 4 3 3 Chennai ∞ Bangalore ∞
32. Shortest Path Please Do Not Take Printout : Use RTF Outline in case needed 21 Delhi : 0 5 3 Nagpur ∞ 3 Mumbai : ∞ Kolkata ∞ 2 Hyderabad ∞ 5 4 3 3 Chennai ∞ Bangalore ∞
33. Shortest Path Please Do Not Take Printout : Use RTF Outline in case needed 22 Delhi : 0 5 3 Nagpur 3 3 Mumbai : ∞ Kolkata ∞ 2 Hyderabad ∞ 5 4 3 3 Chennai ∞ Bangalore ∞
34. Shortest Path Please Do Not Take Printout : Use RTF Outline in case needed 23 Delhi : 0 5 3 5 Nagpur 3 3 Mumbai : ∞ Kolkata ∞ 6 2 5 Hyderabad ∞ 5 4 3 3 Chennai ∞ Bangalore ∞
35. Shortest Path Please Do Not Take Printout : Use RTF Outline in case needed 24 Delhi : 0 5 3 Nagpur 3 3 Mumbai : 5 Kolkata ∞ 2 Hyderabad ∞ 5 4 3 3 Chennai ∞ Bangalore ∞
36. Shortest Path Please Do Not Take Printout : Use RTF Outline in case needed 25 Delhi : 0 5 3 Nagpur 3 3 Mumbai : 5 Kolkata ∞ 2 5 Hyderabad ∞ 5 4 3 3 9 Chennai ∞ Bangalore ∞
37. Shortest Path Please Do Not Take Printout : Use RTF Outline in case needed 26 Delhi : 0 5 3 Nagpur 3 3 Mumbai : 5 Kolkata ∞ 2 Hyderabad 5 5 4 3 3 Chennai ∞ Bangalore ∞
38. Shortest Path Please Do Not Take Printout : Use RTF Outline in case needed 27 Delhi : 0 5 3 Nagpur 3 3 Mumbai : 5 Kolkata ∞ 2 Hyderabad 5 5 4 3 8 3 9 Chennai ∞ Bangalore ∞
39. Shortest Path Please Do Not Take Printout : Use RTF Outline in case needed 28 Delhi : 0 5 3 Nagpur 3 3 Mumbai : 5 Kolkata ∞ 2 Hyderabad 5 5 4 3 3 Chennai ∞ Bangalore 8
40. Shortest Path Please Do Not Take Printout : Use RTF Outline in case needed 29 What if we start from Hyderabad? Delhi : 0 5 3 Nagpur 3 3 Mumbai : 5 Kolkata 16 2 Hyderabad 5 5 4 3 3 Chennai 11 Bangalore 8
50. M S Tree (pg 583) Loop (In order Vertex) Loop (Edge to initialise) Loop Till Tree Complete Loop (to find next Vertex) Loop (locate smallest path) Test for shortest Path Set inTree (2 places) , pathLength (dest) Please Do Not Take Printout : Use RTF Outline in case needed 32
51. Reference (PS: starting vertex only) http://en.wikipedia.org/wiki/Graph_theory http://en.wikipedia.org/wiki/Dijkstra’s_algorithm Furzon(for those who have no earlier graph background): Chapter 12 Please Do Not Take Printout : Use RTF Outline in case needed 33 Action Item