EXP NO:11
DATE:
Distance Vector Routing
AIM:
ALGORITHM:
PROGRAM:
n = int(input("Enter number of routers: "))
INF = 999
distance = []
print("Enter the cost matrix (use 999 for no direct link):")
for i in range(n):
row = list(map(int, input(f"Router {i} to others: ").split()))
distance.append(row)
routing_table = [[(distance[i][j], j) for j in range(n)] for i in range(n)]
for _ in range(n - 1):
for i in range(n):
for j in range(n):
for k in range(n):
if distance[i][j] > distance[i][k] + distance[k][j]:
distance[i][j] = distance[i][k] + distance[k][j]
routing_table[i][j] = (distance[i][j], k)
for i in range(n):
print(f"\nRouting table for Router {i}:")
print("Destination\tNext Hop\tCost")
for j in range(n):
if i != j:
cost, next_hop = routing_table[i][j]
print(f"{j}\t\t{next_hop}\t\t{cost}")
OUTPUT:
RESULT: