davegimo

larghezza albero

Aug 29th, 2023
1,181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.80 KB | None | 0 0
  1. class Node:
  2.    def __init__(self, val):
  3.       self.left = None
  4.       self.right = None
  5.       self.val = val
  6.  
  7.  
  8. a = Node(1)
  9. b = Node(2)
  10. c = Node(3)
  11. d = Node(4)
  12. e = Node(5)
  13. f = Node(6)
  14. g = Node(7)
  15. h = Node(9)
  16.  
  17. a.left = b
  18. a.right = c
  19. b.left = d
  20. b.right = e
  21. c.left = f
  22. c.right = g
  23. g.right = h
  24.  
  25.  
  26.  
  27. def stampa_larghezza(a):
  28.     l = []
  29.     larghezza_aux(a,l,0)
  30.     print(l)
  31.  
  32.     larghezza = 0
  33.     for element in l:
  34.         if len(element) > larghezza:
  35.             larghezza = len(element)
  36.  
  37.     return larghezza
  38.  
  39. def larghezza_aux(a,l,k):
  40.     if a is None:
  41.         return
  42.  
  43.     if len(l) <= k:
  44.         l.append([])
  45.        
  46.     l[k].append(a.val)
  47.  
  48.     larghezza_aux(a.left,l,k+1)
  49.     larghezza_aux(a.right,l,k+1)
  50.  
  51.  
  52.  
  53.  
  54. larghezza = stampa_larghezza(a)
  55. print(larghezza)
  56.  
  57.        
  58.  
Advertisement
Add Comment
Please, Sign In to add comment