the neighbors of vertex are obtained by graph[keythe key in combination with the neighbor is then used to create the tuple stored in edges_list the output of the iteration is as follows[(' '' ')(' '' ')(' '' ')(' '' ')(' '' ')(' '' ')(' '' ')(' '' ')(' '' ')(' '' ')(' '' ')what needs to be done now is to fill the our multidimensional array by using to mark the presence of an edge with the line adjacency_matrix[index_of_first_vertex][index_of_second_vertex for edge in edges_listindex_of_first_vertex matrix_elements index(edge[ ]index_of_second_vertex matrix_elements index(edge[ ]adjacecy_matrix[index_of_first_vertex][index_of_second_vertex the matrix_elements array has its rows and cols starting from through to with the indices through to the for loop iterates through our list of tuples and uses the index method to get the corresponding index where an edge is to be stored the adjacency matrix produced looks like so[ [ [ [ [ at column and row the there represents the absence of an edge between and on column and row there is an edge between and graph traversal since graphs don' necessarily have an ordered structuretraversing graph can be more involving traversal normally involves keeping track of which nodes or vertices have already been visited and which ones have not common strategy is to follow path until dead end is reachedthen walking back up until there is point where there is an alternative path we can also iteratively move from one node to another in order to traverse the full graph or part of it in the next sectionwe will discuss breadth and depth-first search algorithms for graph traversal