• Binar daraxtlar
  • O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi toshkent axborot texnologiyalari universiteti




    Download 18,84 Mb.
    bet50/163
    Sana16.01.2024
    Hajmi18,84 Mb.
    #138868
    1   ...   46   47   48   49   50   51   52   53   ...   163
    Bog'liq
    O zbekiston respublikasi oliy va o rta maxsus ta lim vazirligi t

    Daraxtlarni tasvirlash

    Daraxtni grafik shakldagi va uning chiziqsiz ro’yxat shaklidagi ifodalanishi

    EXM xotirasida daraxtni ifodalashaning eng qulay usuli bu uni bog’langan ro’yxatlar ko’rinishida ifodalashdir. Ro’yxat elementi tugun qiymati va chiqish darajasini o’z ichiga oluvchi informasion maydonga xamda chiqish darajasiga teng bo’lgan ko’rsatkichlar maydoniga ega bo’lishi lozim (yuqoridai chizma), ya’ni elementning har bir ko’rsatkichi ushbu elementni tugun o’g’illari bo’lgan tugunlarga yo’nalishini aniqlaydi.


    Binar daraxtlar
    Binar daraxtlar eng ko’p foydalaniladigan daraxtlar turi xisoblanadi.
    Daraxtlarni EXM xotirasida tasvirlanishiga ko’ra xar bir element to’rtta maydonga ega yozuv xisoblanadi. Mazkur maydonlar qiymati mos ravishda yozuv kaliti bo’lib, boshqa elementlarga murojaatni ifodalaydi, ya’ni chapga-pastga, o’nga-pastga va yozuv matniga.
    Shuni esda tutish lozimki, daraxt xosil qilinayotganda, otaga nisbatan chap tomondagi o’g’il qiymati kichik kalitga, o’ng tomondagi o’g’il esa katta qiymatli kalitga ega bo’ladi. Masalan, quyidagi elementlardan binar daraxt quramiz: 50, 46, 61, 48, 29, 55, 79. U quyidagi ko’rinishga ega bo’ladi:

    Natijada, o’ng va chap qism daraxtlari bir xil bosqichli tartiblangan binar daraxt xosil qildik. Agar daraxtning o’ng va chap qism daraxtlari bosqichlari farqi birdan kichik bo’lsa, bunday daraxt ideal muvozanatlangan daraxt deyiladi. Yuqorida xosil qilgan binar daraxtimiz ideal muvozanatlangan daraxtga misol bo’ladi.
    Binar daraxtni xosil qilish uchun EXM xotirasida elementlar quyidagi turda bo’lishi lozim:

    V = MakeTree(Key, Rec) amali ikkita ko’rsatkichli (kalit) va ikkita maydonli (informasion) element yaratadi (daraxt tuguni)

    MakeTree prosedursi ko’rinishi:


    Paskal
    New(p);
    p^.r := rec;
    p^.k := key;
    v := p;
    p^.left := nil;
    p^.right := nil;

    Boshida kalit birinchi qiymati kiritiladi. Undan so’ng elementni o’zini maketree prosedurasi orqali hosil qilamiz. Keyin esa ko’rsatkich bo’sh qiymatni ko’rsatguncha siklni davom ettiramiz.


    READ(key,rec)
    tree=maketree(key,rec)
    WHILE not eof DO
    READ(key,rec)
    V=maketree(key,rec)
    WHILE P<>nil DO
    Q=P
    IF key=k(P)
    THEN P=left(P)
    ELSE P=right(P)
    END IF
    END WHILE
    IF P=nil
    THEN WRITELN(' Bu ildiz');
    tree=V
    ELSE IF keyTHEN left(P)=V
    ELSE right(P)=V
    END IF
    END IF
    END WHILE



    Download 18,84 Mb.
    1   ...   46   47   48   49   50   51   52   53   ...   163




    Download 18,84 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi toshkent axborot texnologiyalari universiteti

    Download 18,84 Mb.