***********ALGORTIMO PARA GRAFO NO DIRIGIDO MATRIZ DE ADYACENCIA*********************** System.out.println("Numero de vertices"); int numVertices = sc.nextInt(); int i=0; int j=0; int[][] adyacencia = new int[numVertices][numVertices]; while(i<numVertices){ while(j<numVertices){ System.out.println(""); System.out.println("Responder (si/no):"); System.out.println("El vertice "+i+" es adyacente al vertice "+j+" ?"); String respuesta = sc.nextLine(); if(respuesta.equals("si")){ adyacencia[i][j]=1; }else { adyacencia[i][j]=0; } j=j+1; } i=i+1; j=0; } Algoritmo 2 (Los datos se obtienen de la lista de aristas): def create_adjacency_matrix(graph): # Obtener el número de nodos en el grafo num_nodes = max(max(edge) for edge in graph) + 1 # Crear una matriz cuadrada llena de ceros adjacency_matrix = [[0] * num_nodes for _ in range(num_nodes)] # Llenar la matriz con las conexiones del grafo for edge in graph: node1, node2 = edge adjacency_matrix[node1][node2] = 1 adjacency_matrix[node2][node1] = 1 # Si es un grafo no dirigido, también se establece la conexión inversa return adjacency_matrix ***********ALGORTIMO PARA GRAFO NO DIRIGIDO MATRIZ DE INCIDENCIA*********************** System.out.println("Numero de vertices"); int numVertices = sc.nextInt(); System.out.println("Numero de lados"); int numLados = sc.nextInt(); int i=0; int j=0; int[][] incidencia = new int[numVertices][numLados]; String respuesta; sc.nextLine(); while(i<numVertices){ while(j<numLados){ System.out.println(""); System.out.println("Responder (si/no):"); System.out.println("El vertice "+i+" cuenta con el lado "+j+" ?"); respuesta = sc.nextLine(); if(respuesta.equals("si")){ incidencia[i][j]=1; }else { incidencia[i][j]=0; } j=j+1; } i=i+1; j=0; } Algoritmo 2 (Los datos se obtienen de la lista de aristas): def create_incidence_matrix(graph): # Obtener el número de nodos y aristas en el grafo num_nodes = max(max(edge) for edge in graph) + 1 num_edges = len(graph) # Crear una matriz rectangular llena de ceros incidence_matrix = [[0] * num_edges for _ in range(num_nodes)] # Llenar la matriz con las conexiones del grafo for i, edge in enumerate(graph): node1, node2 = edge incidence_matrix[node1][i] = 1 incidence_matrix[node2][i] = 1 return incidence_matrix