Results 1 to 10 of 10

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Registered User
    Join Date: Mar:2018
    Location: pleven
    Posts: 6

    Êóðñîâà çàäà÷à C++

    Äà ñå ñúñòàâè ôóíêöèÿ çà ïðåîáðàçóâàíå íà äàäåí åäíîñâúðçàí ñïèñúê â áàëàíñèðàíî äâîè÷íî äúðâî.Áëàãîäàðÿ ïðåäâàðèòåëíî

  2. #2
    Banned
    Join Date: Mar:2008
    Location: ( ͡° ͜ʖ ͡°)
    Posts: 10,614
    Ïîêàæè ñè êîäà è êàæè ñ êîå ñå çàòðóäíÿâàø?

  3. #3
    Registered User
    Join Date: Mar:2018
    Location: pleven
    Posts: 6
    struct elemlist
    {
    int key;
    elemlist *next;
    } *start = NULL;

    //Strukturata za durvo
    struct elemtree
    {
    int key;
    elemtree *left;
    elemtree *right;
    int bal;
    } *root = NULL;

    //Izvejdane na spisuka
    void list()
    {
    if(start)
    {
    cout<<"\nList: ";
    elemlist *p = start;
    while(p)
    {
    cout<<p -> key<<" ";
    p = p -> next;
    }
    }
    else cout<<"\nEmpty List";
    cout<<"\n\n";
    system("pause");
    system("cls");
    }

    //Dobavqne na element v spisuka otnachalo
    void add_b(int n)
    {
    elemlist *p = start;
    start = new elemlist;
    start -> key = n;
    start -> next = p;
    }

    //Dobavqne na element v spisuka otkraq
    void add_e(int n)
    {
    elemlist *p = start, *q;
    q = new elemlist;
    q -> key = n;
    q -> next = NULL;
    if(start == NULL) start = q;
    else
    {
    while(p -> next) p = p -> next;
    p -> next = q;
    }
    }

    //Za slagane na tabulatori pri izvejdane na durvoto
    void printnode(int n, int h)
    {
    for(int i = 0; i < h; i++) cout<<"\t";
    cout<<n<<endl;
    }

    //Za izvejdane na durvoto
    void show(elemtree *t, int h)
    {
    if(t)
    {
    //cout<<t -> key;
    show(t -> right,h+1);
    printnode(t -> key,h);
    show(t -> left,h+1);
    }
    }

    //Za dobavqne na element v durvoto
    void add(int n, elemtree *&t)
    {
    if(t == NULL)
    {
    t = new elemtree;
    t -> key = n;
    t -> bal = 0;
    t -> left = t -> right = NULL;
    }
    else
    {
    if(t -> key > n)
    {
    if(t -> bal != -1) t -> bal--;
    add(n,t -> left);
    }
    else
    {
    if(t -> key < n)
    {
    if(t -> bal != 1) t -> bal++;
    add(n,t -> right);
    }
    }
    }
    }

  4. #4
    a.k.a. alexandar888
    Join Date: Dec:2008
    Location: Ëèïñâà
    Posts: 1,071
    Ùå äîéäå âðåìå, âèñøèñòè äà ðàáîòÿò â ÷èñòîòàòà.

  5. #5
    Registered User
    Join Date: Apr:2007
    Location: Ñîôèÿ
    Posts: 184
    pepi9846, ìíîãî ñè ëàêîíè÷åí.

     óñëîâèåòî ïèøå áàëàíñèðàíî äâîè÷íî äúðâî. Íå ïèøå áàëàíñèðàíî äúðâî çà äâîè÷íî òúðñåíå. Àç íà ïúðâî ÷åòåíå íå âèæäàì ñìèñúë îò áàëàíñèðàíî äâîè÷íî äúðâî, êîåòî íå å çà äâîè÷íî òúðñåíå. Íî ïúê, àêî óñëîâèåòî å òî÷íî òàêîâà è èçïèòâàùèÿò íå ïîäðàçáèðà áàëàíñèðàíî äúðâî çà äâîè÷íî òúðñåíå, ñúâñåì ëîãè÷íî å èçïèòâàùèÿò äà çàäàäå âúïðîñè çàùî å íàïðàâåíî áàëàíñèðàíî äúðâî çà äâîè÷íî òúðñåíå ñëåä êàòî ìîæå äà ñå ìèíå ñ ïî-ïðîñòî ðåøåíèå çà áàëàíñèðàíî äúðâî, êîåòî íå å ñ ïîäðåäåíè åëåìåíòè.

    Äàäåíèÿò êîä ñÿêàø èäåÿòà ìó å äà íàïðàâè áàëàíñèðàíî äúðâî çà äâîè÷íî òúðñåíå, íî òàêà êàêòî å ïðàâè äúðâî çà äâîè÷íî òúðñåíå, êîåòî íå å áàëàíñèðàíî. Ìÿñòîòî íà âñåêè åëåìåíò, êîéòî ñå äîáàâÿ, ñå îïðåäåëÿ ÷ðåç ñðàâíÿâàíå ñ âå÷å äîáàâåíèòå åëåìåíòè - åëåìåíòèòå ñå ðåäÿò ïî ãîëåìèíà. Íî äúðâîòî íå ñå áàëàíñèðà. Ñìÿòàò ñå íÿêàêâè ÷èñëà çà áàëàíñèðàíå, íî íèùî ïîâå÷å íå ñå ïðàâè çà áàëàíñèðàíå íà äúðâîòî - íå ñå ðàçìåñòâàò åëåìåòè îò äúðâîòî ñïîðåä ÷èñëàòà çà áàëàíñèðàíå.

    AVL Trees: Tutorial and C++ Implementation - ïðåäëàãàì òîâà ðúêîâîäñòâî çà AVL äúðâåòà îò Brad Appleton. Ìèñëÿ, ÷å å îáÿñíåíî ìíîãî äîáðå.
    Last edited by BBelchev; 4th May 2018 at 03:32.

  6. #6
    Registered User
    Join Date: Mar:2018
    Location: pleven
    Posts: 6
    Òè íàëè íå ðàáîòèø . Ìíåíèåòî òè å èçëèøíî è íà íèêîãî íå ìó òðÿáâà .

  7. #7
    Mire-x
    Join Date: Apr:2005
    Location: Sofia
    Posts: 763
    Òâîÿòà òåìà ùîòî õè÷ íå å èçëèøíà è íà âñè÷êè íè å ïðèòðÿáâàëà.
    (10b) || !(10b)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Copyright © 1999-2011 Õàðäóåð ÁÃ. Âúçìîæíî å ñúäúðæàíèåòî íà òàçè ñòðàíèöà äà å îáåêò íà àâòîðñêè ïðàâà.
iskamPC.com | mobility.BG | Bloody's Techblog | Êðèïòîâàëóòè è ìàéíèíã | 3D Vision Blog | Ìàãàçèí çà åëåêòðîííè öèãàðè