• Daraxtga biror bir elementni qo’shish
  • Daraxtga yangi yozuvni kiritish uchun
  • Kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti samarqand filiali




    Download 362,09 Kb.
    Pdf ko'rish
    bet2/4
    Sana11.01.2024
    Hajmi362,09 Kb.
    #134700
    1   2   3   4
    Bog'liq
    5-amaliy

    Pythonda 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()



    Download 362,09 Kb.
    1   2   3   4




    Download 362,09 Kb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti samarqand filiali

    Download 362,09 Kb.
    Pdf ko'rish