Advertisement
STANAANDREY

nth inorder

Jan 16th, 2023
620
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.33 KB | None | 0 0
  1. arbore_binar = { "value" : 2, "left":
  2.                      {
  3.                         "value": 7, "left": None, "right":
  4.                              {
  5.                                   "value": 6, "left":
  6.                                       {
  7.                                          "value": 5, "left": None, "right": None
  8.                                       }, "right":
  9.                                       {
  10.                                           "value":11, "left": None, "right": None
  11.                               },
  12.                       },
  13.                       }, "right":
  14.                       {
  15.                            "value": 5, "left": None, "right": None
  16.                        }
  17.         }
  18.  
  19. def printNth(tree, n):
  20.     ans = -1;
  21.     cnt = [0]
  22.     def utilPrintNth(tree):
  23.         if tree is None:
  24.             return
  25.  
  26.         nonlocal cnt, ans
  27.         utilPrintNth(tree['left'])
  28.         cnt[0] += 1
  29.         if cnt[0] == n:
  30.             ans = tree['value']
  31.         utilPrintNth(tree['right'])
  32.  
  33.     utilPrintNth(tree)
  34.     return ans
  35.  
  36. print(printNth(arbore_binar, 3))
  37.  
  38. # Parcurgerea in inordine al unui arbore binar
  39. def srd(tree):
  40.     if (tree != None):
  41.         return  srd(tree["left"]) + [tree["value"]] + srd(tree["right"])
  42.     else:
  43.         return []
  44.  
  45.  
  46. print("ino: " + str(srd(arbore_binar)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement