Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- """
- Created on Tue Jun 28 14:25:43 2022
- @author: Wilson Francisco Brito DTS-03
- """
- class Node():
- def __init__(self, value):
- self.value = value
- self.left = None
- self.right = None
- def set_left(self, left_value):
- self.left = Node(left_value)
- return self
- def set_right(self, right_value):
- self.right = Node(right_value)
- return self
- class Arbol:
- def __init__(self, root):
- self.root = Node(root)
- def value_check(self, pointer, search_value):
- found = False
- if pointer.left != None:
- #print('None')
- if pointer.left.value == search_value:
- print('Encontrado left')
- found = True
- else:
- pass
- if pointer.right != None:
- if pointer.right.value == search_value:
- print('Encontrado right')
- found = True
- else:
- pass
- return found
- def sides(self, pointer):
- return [pointer.left, pointer.right]
- def search(self, search_value):
- if search_value == self.root.value:
- print('Encontrado')
- return
- else:
- pointer = self.root
- succes = False
- self.value_check(pointer, search_value)
- sides = self.sides(pointer)
- # for side in sides:
- # self.value_check(side, search_value)
- # sides = [self.sides(x) for x in sides]
- # sides = [x for xs in sides for x in xs] # Para no tener lista de listas
- # for side in sides:
- # self.value_check(side, search_value)
- #self.value_check(pointer.left, search_value)
- #self.value_check(pointer.right, search_value)
- #self.value_check(pointer.left.left, search_value)
- while succes != True:
- for side in sides:
- succes = self.value_check(side, search_value)
- if succes: break
- if succes == False:
- sides = [self.sides(x) for x in sides]
- sides = [x for xs in sides for x in xs]
- a = Arbol(0)
- a.root.set_left(1)
- a.root.set_right(2)
- a.root.left.set_left(3)
- a.root.left.set_right(4)
- a.root.right.set_left(5)
- a.root.right.set_right(6)
- a.root.left.left.set_right(8)
- print(a.root.value)
- print(a.root.left.value)
- print(a.root.left.left.value)
- print(a.root.left.right.value)
- print(a.root.right.value)
- a.search(8)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement