Está en la página 1de 2

COMPLEMENTOS

def inicArbinOr():
return []
def toarrayt(a1,array):
if a1!=[]:
array.append(a1[0])
toarrayt(a1[1],array)
toarrayt(a1[2],array)
def insArbinOr(arbinOr,elem):
if arbinOr==[]:
return [elem,[],[]]
else:
if elem > arbinOr[0]:
arbinOr[2] = insArbinOr(arbinOr[2],elem)
else:
arbinOr[1] = insArbinOr(arbinOr[1],elem)
return arbinOr
1. Une al rbol de bsqueda binaria a1, el rbol de bsqueda
binaria a2
def unirArbinOr(a1, a2):
ar=[]
toarrayt(a1,ar)
for i in ar:
insArbinOr(a1,i)
Complementos:
def mayorElem(arbinOr):
if arbinOr[2]==[] :
return arbinOr[0]
else:
return mayorElem(arbinOr[2])
def elimArbinOr(arbinOr, eleme):
p = inicArbinOr()
if arbinOr!=[]:
if arbinOr[0]==eleme:
if arbinOr[1]==[] and arbinOr[2]==[]:
return []
elif arbinOr[1]==[]:
p = arbinOr[2]
return p
else:
mayor = mayorElem(arbinOr[1])
arbinOr[0] = mayor
arbinOr[1] = elimArbinOr(arbinOr[1], mayor)
elif arbinOr[0] > eleme:
arbinOr[1] = elimArbinOr(arbinOr[1], eleme)
else:
arbinOr[2] = elimArbinOr(arbinOr[2], eleme)
return arbinOr

2. Elimina del rbol de bsqueda binaria a1 los elementos que no se


encuentran en el rbol de bsqueda binaria a2
def interArbinOr(a1, a2):
ar=[]
dif(a1, a2,ar)
for i in ar:
a1=elimArbinOr(a1,i)
Complementos:
def estaArbin(arbin, elem):
if arbin==[]:
return False
else:
return arbin[0]==elem or estaArbin(arbin[1], elem) or
estaArbin(arbin[2], elem)
def dif(a1, a2,array):
if a1!=[] and a2!=[]:
if(estaArbin(a2, a1[0])==False):
array.append(a1[0])
dif(a1[1], a2,array)
dif(a1[2], a2,array)
3. Indica si todos los elementos de a2 estn en a1
def subArbinOr(a1, a2):
ar=[]
toarrayt(a2,ar)
for i in ar:
if estaArbin(a1, i)==False:
return False
return True

EDUARDO MOLLINEDO CHAVEZ


ING. DE SISTEMAS
GRUPO 04
LAB06

También podría gustarte