Advertisement
Poganu

Untitled

Nov 13th, 2020
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.68 KB | None | 0 0
  1. # Arbore binar ordonat
  2.  
  3. # noduri si frunze
  4. # nodes and leafs
  5.  
  6. class Nod0:
  7.     def __init__(self, numar, fiu_stang, fiu_drept):
  8.         self.nr = numar
  9.         self.fiu_stang = fiu_stang
  10.         self.fiu_drept = fiu_drept
  11.         #self.link = link
  12.  
  13.  
  14.     def __repr__(self):
  15.         return str("Nodul cu nr: " + str(self.nr) + " cu stanga " + \
  16.                    str(self.fiu_stang) + " si dreapta " + str(self.fiu_drept))
  17.  
  18. A1 = Nod0(8,4,15)
  19. B1 = Nod0(4,3,7)
  20. C1 = Nod0(3,1,0)
  21. D1 = Nod0(7,6,0)
  22. E1 = Nod0(15,10,20)
  23. F1 = Nod0(10,9,13)
  24. G1 = Nod0(20,17,22)
  25. print(A1)
  26. print(B1)
  27. print(C1)
  28. print(D1)
  29. print(E1)
  30. print(F1)
  31. print(G1)
  32.  
  33. print("-------------------------")
  34.  
  35. class Nod:
  36.     def __init__(self, numar):
  37.         self.nr = numar
  38.         self.fiu_stang = None
  39.         self.fiu_drept = None
  40.  
  41.     def adaugaFiu_Stang(self, fiu_stang):
  42.         self.fiu_stang = fiu_stang
  43.  
  44.     def adaugaFiu_Drept(self, fiu_drept):
  45.         self.fiu_drept = fiu_drept
  46.  
  47.     '''
  48.    def __repr__(self):
  49.        return str("Nodul cu nr: " + str(self.nr) + " cu stanga " + \
  50.                   str(self.fiu_stang) + " si dreapta " + str(self.fiu_drept))
  51.                  
  52.    '''
  53.  
  54.     def __repr__(self):
  55.         s = " " + str(self.nr) + " "
  56.         if (self.fiu_stang != None):
  57.             s = s + str(self.fiu_stang) + " "
  58.         if (self.fiu_drept != None):
  59.             s = s + str(self.fiu_drept) + " "
  60.         return s
  61.  
  62. A = Nod(1) # ok
  63. B = Nod(3) # ok
  64. C = Nod(6) # ok
  65. D = Nod(7) # ok
  66. E = Nod(4) # ok
  67. F = Nod(8) # ok --
  68. G = Nod(9) # ok
  69. H = Nod(10) # ok
  70. I = Nod(13) # ok
  71. J = Nod(15) # ok
  72. K = Nod(17) # ok
  73. L = Nod(22) # ok
  74. M = Nod(20) # ok
  75.  
  76. A.adaugaFiu_Stang(None)
  77. A.adaugaFiu_Drept(None)
  78.  
  79. C.adaugaFiu_Stang(None)
  80. C.adaugaFiu_Drept(None)
  81.  
  82. G.adaugaFiu_Stang(None)
  83. G.adaugaFiu_Drept(None)
  84.  
  85. I.adaugaFiu_Stang(None)
  86. I.adaugaFiu_Drept(None)
  87.  
  88. K.adaugaFiu_Stang(None)
  89. K.adaugaFiu_Drept(None)
  90.  
  91. L.adaugaFiu_Stang(None)
  92. L.adaugaFiu_Drept(None)
  93.  
  94. B.adaugaFiu_Stang(A)
  95. B.adaugaFiu_Drept(None)
  96.  
  97. D.adaugaFiu_Stang(C)
  98. D.adaugaFiu_Drept(None)
  99.  
  100. E.adaugaFiu_Stang(B)
  101. E.adaugaFiu_Drept(D)
  102.  
  103. H.adaugaFiu_Stang(G)
  104. H.adaugaFiu_Drept(I)
  105.  
  106. M.adaugaFiu_Stang(K)
  107. M.adaugaFiu_Drept(L)
  108.  
  109. J.adaugaFiu_Stang(H)
  110. J.adaugaFiu_Drept(M)
  111.  
  112. F.adaugaFiu_Stang(E)
  113. F.adaugaFiu_Drept(J)
  114.  
  115. print(F)
  116. print("--------------------")
  117.  
  118. class Nod2:
  119.     def __init__(self, nr, parinte):
  120.         self.nr = nr
  121.         self.parinte = parinte
  122.  
  123.     def __repr__(self):
  124.         return str("Nodul cu nr: " + str(self.nr) + " si parintele " + str(self.parinte))
  125.  
  126. Frunza1 = Nod2(1,None)
  127. Frunza2 = Nod2(6,None)
  128. Nodul1 = Nod2(3,Frunza1)
  129. Nodul2 = Nod2(7,Frunza2)
  130. Nodul3 = Nod2(4,Frunza1)
  131.  
  132. print(Nodul1)
  133.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement