Python - Matriz de Adyacencia

 
Vista:
sin imagen de perfil
Val: 49
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Matriz de Adyacencia

Publicado por Aldo (18 intervenciones) el 04/05/2021 06:32:12
Buenas noches, alguien podría ayudarme con este programa por favor, se supone que la matriz que estoy creando es similar a la imagen donde sale la matriz de 6x6, pero en el caso del ejercicio es 100x100. Según lo que he ido aprendiendo, desarrolle los puntos según como creí. Si alguien puede orientarme en decirme si estoy bien o mal, o que corregir. Muchas gracias a todos.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import numpy as np
 
def abrirArchivo(archivo):
    arch = open(archivo, "r")
    return arch
def buscarAgregar(lista,elemento):
    if not elemento in lista:
        lista.append(elemento)
    return lista.index(elemento)
 
def obtenerCiudad(partes):
    return partes[0]
def obtenerDistancia(partes):
    return int(partes[1])
 
def leerDatos(matriz, ciudades, distancia):
    arch = abrirArchivo("archivo")
    linea = arch.readline().strip()
    while linea != " ":
        partes = linea.split(",")
        ciudad = obtenerCiudad(partes)
        distancia = obtenerDistancia(partes)
 
        fila = buscarAgregar(ciudades, ciudad)
        columna = buscarAgregar(ciudades,ciudad)
        matriz[fila][columna] = distancia
        linea = arch.readline().strip()
 
ciudades = []
distancias = []
matriz = np.zeros([100,100])
 
leerDatos(matriz,ciudades, distancias)
 
for fila in range(len(ciudades)):
    for columna in range(len(ciudades)):
        if matriz[fila][columna] == 0:
            print("Las ciudades no están conectadas")
 
        else:
            print("Las ciudades están conectadas")
            print("y tienen un valor de {}".format(ciudades))

ejemplo
parte-1
parte-2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder