• Daraxt ko ‟rigining rekursiv funksiyalari
  • Daraxtsimon maʻlumotlar tuzilmalari. Taʻriflar va xususiyatlar. Daraxtlar klassifikatsiyasi. Daraxt ko’ruvi




    Download 11,57 Kb.
    bet3/4
    Sana08.01.2024
    Hajmi11,57 Kb.
    #132709
    1   2   3   4
    Bog'liq
    Daraxtsimon maʻlumotlar tuzilmalari. Taʻriflar va xususiyatlar. -fayllar.org (1)

    Daraxt “korigi” funksiyalari
    Binar daraxt quyidagicha berilgan bo‟lsin:
    5-rasm. 3 ta elemetdan iborat binar daraxt
    Binar daraxtlari korigini 3 tamoyili mavjud.
    1) Yuqoridan pastga ko‟rik (daraxt ildizini qism daraxtlarga nisbatan oldinroq
    ko‟rikdan o‟tkaziladi): A, B, C ;
    2) Chapdan o‟ngga: B, A, C ;
    3) Quyidan yuqoriga (ildiz qism daraxtlardan keyin ko‟riladi): B, C, A .
    Daraxt ko‟rigi ko‟pincha ikkinchi usul bilan, ya‟ni tugunlarga kirish ularning
    kalit qiymatlarini o‟sish tartibida amalga oshiriladi.
    Daraxt korigining rekursiv funksiyalari 
    1. i
    nt pretrave(node *tree){if(tree!=NULL) {int a=0,b=0; 
    if(tree->left!=NULL) a=tree->left->info; 
    if(tree->right!=NULL) b=tree->right->info; 
    cout






    pretrave(tree->left); 
    pretrave(tree->right); } return 0; }; 
    2. int intrave(node *tree){if(tree!=NULL) {intrave(tree->left); 
    cout
    intrave(tree->right); } return 0; }; 
    3. int postrave(node *tree){ 
    if(tree!=NULL) { 
    postrave(tree->left); 
    postrave(tree->right); 
    cout
    Daraxtning har bir tuguni 6-rasmdagidek oraliq (2, 3, 5, 7 elementlar) yoki
    terminal (daraxt “barg”i) (4, 9, 10, 11, 8, 6 elementlar) bo‟lishi mumkin.
    6-rasm. Daraxtsimon tuzilma
    if(p==tree) cout<<”bu tugun ildiz ekan”; 
    else cout<<”bu tugun ildiz emas”;

    2. Biz izlayotgan element daraxtda oraliq tugun ekanligini tekshirish uchun uning yoki


    o‟ng shoxi, yoki chap shoxi, yoki ikkalasiyam mavjudligini tekshirish kerak. Agar ikkala
    shoxi NULL dan farqli bo‟lsa, bu 2 ta farzandga ega oraliq tugun hisoblanadi, yoki
    ikkalasidan bittasi NULL ga teng bo‟lsa, bu tugun 1 ta farzandga ega oraliq tugun
    hisoblanadi. Berilgan p element daraxtning oraliq tugun ekanligini aniqlash dastur kodini
    keltiramiz.
    if(p!=tree){ 





    if((p->left!=NULL)&&(p->right!=NULL)) cout<<”bu tugun 2 ta farzandga ega oraliq 
    tugun”; 
    else if((p->left!=NULL)||(p->right!=NULL) cout<<”bu 1 ta farzandga ega oraliq tugun”; 
    } else cout<<”bu tugun oraliq tugun emas”;
    3. Biz izlayotgan tugun terminal tugunligini tekshirishni ko‟rib chiqamiz. Agar tugunning
    har ikkala shoxi NULL ga teng bo‟lsa, bu 

    Download 11,57 Kb.
    1   2   3   4




    Download 11,57 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Daraxtsimon maʻlumotlar tuzilmalari. Taʻriflar va xususiyatlar. Daraxtlar klassifikatsiyasi. Daraxt ko’ruvi

    Download 11,57 Kb.