Files
grl/adj2con.py
T
Nina Chlóe Kassandra Reiß e1f7097bc3 Warshall algorithm reference
2026-07-18 21:34:45 +02:00

31 lines
730 B
Python

#!/usr/bin/env bash
"""
File: adj2con.py
Author: Nina Chloe Kassandra Reiß <nina.reiss@nickr.eu>
Created on: Sa 18. Jul 11:30:03 CEST 2026
Description: Turn adjacency matrices into boolean connectivity matrix
"""
adjacency = [[1, 0, 1, 0, 0, 0], [0, 0, 0, 0, 1, 0], [1, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 0], [0, 0, 0, 1, 0, 0], [0, 0, 0, 1, 1, 0]]
def warshall(adj):
n = len(adj)
# Kopie erzeugen
R = [row[:] for row in adj]
# Jeder Knoten ist von sich selbst erreichbar
for i in range(n):
R[i][i] = 1
for k in range(n):
for i in range(n):
for j in range(n):
R[i][j] = R[i][j] or (R[i][k] and R[k][j])
return R
print(warshall(adjacency))