|
Kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti samarqand filialiBog'liq 5-amaliyPythonda daraxt yaratish uchun avvalo Node bitta tugunni ifodalovchi sinf
yaratishdan boshlashimiz kerak. Bu Node sinf 3 ta o'zgaruvchini o'z ichiga oladi;
birinchisi left - chap tomondagi qismdaraxt, ikkinchi o'zgaruvchi data - shu tugun
qiymatini o'z ichiga oladi va right – o’ng tomondagi qismdaraxtga ishora qiladi.
class Node:
def init (self, data):
self.left = None
self.right = None
self.data = data
Daraxtga biror bir elementni qo’shishdan oldin daraxtda berilgan kalit
bo’yicha qidiruvni amalga oshirish lozim bo’ladi. Agar berilgan kalitga teng
kalit mavjud bo’lsa, u holda dastur o’z ishini yakunlaydi, aks holda daraxtga
element qo’shish amalga oshiriladi.
Daraxtga yangi yozuvni kiritish uchun, avvalo daraxtni shunday tugunini
topish lozimki, natijada mazkur tugunga yangi element qo’shish mumkin bo’lsin.
Kerakli tugunni qidirish algoritmi ham xuddi berilgan kalit bo’yicha tugunni topish
algoritmi kabi bo’ladi.
root = Node(10)
root.left = Node(34)
root.right = Node(89)
root.left.left = Node(45)
root.left.right = Node(50)
class Node:
def init (self, data):
self.left = None
self.right = None
self.data = data
def
PrintTree(self):
if self.left:
self.left.PrintTree()
print( self.data),
if self.right:
self.right.PrintTree()
root = Node(18)
root.left = Node(13)
root.right = Node(23)
root.left.left = Node(5)
root.left.right = Node(16)
root.right.left = Node(19)
root.right.right = Node(34)
root.right.left.right= Node(21)
root.PrintTree()
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
Kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti samarqand filiali
|