Está en la página 1de 6

Escribir un Programa que recibe las valencias que representan un grafo y determina si

estas efectivamente lo son

Ej : 5:5:4:4:3:3:3:3  SI REPRESENTAN UN GRAFO. O ES GRAFICABLE

1.- Almacenar los datos en un arreglo


2.- Tomar el primer valor de arreglo : a[i], con i=0
3.- Ordenar de mayor a menor los datos
4.- Se resta 1 a todos los elementos, según el valor del i
5.- Se determinar si hay valor negativos en el arreglo. Si es si entonces terminar el
algoritmo y concluir que la secuencia no es Graficable. De lo contrario volver 3

Algoritmo en Python :

#Ingreso de Datos
def ingreso(lista):

x = input("Hay datos : s/n ")


while x == "s":
k = int(input("Ingrese valencia : "))
lista.append(k)
x = input("Hay datos : s/n")
#end while
return lista
#end def
#Restas uno a los elemetos de la lista
def restar_uno(lista,i):
k = i+1
j=1
while j<= lista[i]:
lista[k] = lista[k]-1
k=k+1
j=j+1
#end while
return lista
#end def

def es_grafo(valencia):
sw = True
i=0
while i< len(valencia) and sw:
if valencia[i] < 0 :
sw = False
#end if
i=i+1
#end while
return sw
#end def

lista=[]
valencia = ingreso(lista)
#valencia =[3,5,4,4,4,3,3,5]
valencia.sort(reverse=True)
#print(valencia)
i=0
while i <= len(valencia)-2:

#print(valencia)
#Restas uno a los elemetos de la lista
valencias = restar_uno(valencia,i)
#print(valencia)
# x = input("?")
valencia.sort(reverse=True)
#print(valencia)
#print("i = ",i)
# x = input("?")
i=i+1
#end while
if es_grafo(valencia)==True:
print("Es Graficable")
else:
print("NO es Graficable")
#end if
Isomorfismo

Hay Isomorfismo ssi existe un función biyentiva entre el grafo G y otro G`

EJ

In variantes :

1.- Igual cantidad de aristas


2.- Igual cantidad de vértices
3.- igual cantidad de regiones
4.- Se debe cumplir la relación de adyacencia

Son ssi se pueden redibujar iguales

Ej de Isorformo :
Matriz de Adyacencia

M[i,j] = 1 ssi vértice i es adyacente al vértice j


M[i,j] = 0 en otro caso
1 2 3 4 5
1 2 3 4 5
1 0
1 0 1 0 1 0
2
2 1 0 1 0 0
3
3 0 1 0 1 0
4
4 1 0 1 0 1
5
5 0 0 0 1 0

Control final
Tiempo 23:59 hrs de mañana
Enviar a mi correo : rcorbin@utem.cl
Hacer un programa que complemente el que de termina que un conjunto de valencias
corresponde a un grafo, creando la matriz de adyacencia para determinar si dos grafos son
isomorfos.

a b c d e f g h i
a 0 0 0 0 1 1 1 0 0
b 0 0 0 0 0 1 0 1 0
c 0 0 0 0 0 1 0 0 1
d 0 0 0 0 0 0 1 1 0
e 1 0 0 0 0 0 0 0 0
f 1 1 1 0 0 0 0 0 0
g 1 0 0 1 0 0 0 0 0
h 0 1 0 1 0 0 0 0 0
I 0 0 1 0 0 0 0 0 0
A=3
B=2
C=2
D=2
E=1
F=3
G=2
H=2
I=1

A B C D E F
A 0 0 1 1 0 1
B 0 0 0 0 1 1
C 1 0 0 0 0 0
D 1 0 0 0 0 0
E 0 1 0 0 0 0
F 1 1 0 0 0 0

También podría gustarte