davegimo

cerca nodo albero

Apr 23rd, 2022
1,037
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.95 KB | None | 0 0
  1. class Albero:
  2.     def __init__(self, v): #costruttore
  3.         self.val = v
  4.         self.sx = None
  5.         self.dx = None
  6.  
  7.  
  8. def cerca(a,valore):
  9.  
  10.     if a is None:
  11.         return False
  12.    
  13.     if a.val == valore:
  14.         return True
  15.    
  16.     if a.sx is None and a.dx is None:
  17.         return False
  18.  
  19.  
  20.     cerca_sx = False
  21.     cerca_dx = False
  22.    
  23.     if a.sx is not None:
  24.         cerca_sx = cerca(a.sx,valore)
  25.  
  26.  
  27.     if a.dx is not None:
  28.         cerca_dx = cerca(a.dx,valore)
  29.  
  30.  
  31.     if cerca_sx is True or cerca_dx is True:
  32.         return True
  33.     else:
  34.         return False
  35.  
  36.    
  37.    
  38.    
  39.  
  40.  
  41.  
  42. def prova(a):
  43.  
  44.     if a == 1:
  45.         return "ciao"
  46.  
  47.     if a == 10:
  48.         return "ciaociaociao"
  49.  
  50.     return "niente"
  51.  
  52.  
  53. ###main
  54.  
  55. a = Albero(1)
  56. b = Albero(10)
  57. c = Albero(5)
  58. d = Albero(7)
  59. e = Albero(11)
  60. f = Albero(16)
  61. g = Albero(20)
  62.  
  63.  
  64. a.sx = b
  65. a.dx = c
  66. c.dx = d
  67. b.sx = e
  68. d.sx = f
  69. d.dx = g
  70.  
  71. flag = cerca(a,20)
  72.  
  73.  
Advertisement
Add Comment
Please, Sign In to add comment