Adjacency list


Published on

Published in: Technology
1 Like
  • Be the first to comment

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

No notes for slide

Adjacency list

  1. 1. GRAPHS Adjacency Lists Reporters: Group 10
  2. 2. Graph Jargon:  Vertex (also called a node) is a fundamental part of a graph.  Edge (also called an arc) is another fundamental part of a graph. It connects two vertices to show that there is a relationship between them. Definition of Terms
  3. 3.  Weight Edges may be weighted to show that there is a cost to go from one vertex to another.  Path a sequence of vertices such that any two consecutive vertices are connected by an edge. Definition Of Terms (Con’t.)
  4. 4. Graph Illustration Path from V3 to V1?
  6. 6. Adjacency List  A type of graph representation wherein each vertex holds a list of every other vertex adjacent to it.  In an adjacency list implementation, we keep a master list of all the vertices in the Graph object and then each vertex object in the graph maintains a list of the other vertices that it is connected to. Adjacency List
  7. 7. Adjacency List Illustration Example of an Undirected Graph
  8. 8. Adjacency List Illustration
  9. 9. Node class: Adjacency List Methods int Node Node Node data members: • Reference to other nodes in the graph • Reference to the linked list of its adjacent nodes • Actual value of the node
  10. 10.  Graph() creates a new, empty graph.  Transformers:  addNode() adds an instance of Vertex to the graph.  addEdge(Node1, Node2) adds a new, directed edge to the graph that connects two vertices.  deleteNode(Node) removes a node and any edges between this node and other nodes.  deleteEdge(Node1, Node2) delete the edge between two given nodes: Node1 & Node 2. Adjacency List Methods
  11. 11.  Observers:  getVertices() returns the list of all vertices in the graph.  isEmpty() determines whether the graph is empty.  isLink(Node1, Node2) returns true if edge(Node1, Node2) is present in the graph, false otherwise. Bonus method/s: findPath(Node1, Node2) //pre: Node1 and Node2 are existing in the graph //post: returns the list of nodes on a path from Node1 to Node2. Adjacency List Methods
  12. 12. Pros and Cons of ADT:  Advantages:  Easy to retrieve all the adjacent nodes of a given node(just traverse the list associated with the node)  Easy to check whether a node has edges starting from it  Less memory space is needed.  Limitation:  More complex operation for checking whether there is an edge between two given nodes. Pros and Cons of ADT
  13. 13. Graph Traversal Algorithms Depth First Search  Puts unvisited nodes in a STACK. Breadth First Search  Puts unvisited nodes in a QUEUE. Traversal Algorithms
  14. 14. Applications of ADT:  The applications for graphs are many and varied. They can be used to analyze electrical circuits, develop project schedules, find shortest routes, analyze social relationships, and construct models for the analysis and solution of many other problems. Applications of ADT
  15. 15. Applications of ADT Con’t