Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Binarno drvo-crtanje

[es] :: C/C++ programiranje :: C/C++ za početnike :: Binarno drvo-crtanje

[ Pregleda: 3052 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kelimi

Član broj: 310277
Poruke: 2
*.crnagora.net.



Profil

icon Binarno drvo-crtanje24.12.2012. u 23:44 - pre 88 meseci
Zadatak je :
Nacrtati potpuno binarno drvo visine 3 i u njegove čvorove upisati riječ SUPERPROGRAMERI shodno postorder obilasku.

Kako ovo uraditi?
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8323
*.3gnet.mts.telekom.rs.



+2691 Profil

icon Re: Binarno drvo-crtanje25.12.2012. u 09:16 - pre 88 meseci
Može ovako:

Code (cpp):

#include <iostream>
#include <string>

using namespace std;

class Node
{
    Node *left, *right;
    string data;

public:
    Node(const string &data)
    {
        this->data = data;
        left = right = 0;
    }

    Node(const string &data, Node *left, Node *right)
    {
        this->data = data;
        this->left = left;
        this->right = right;
    }

    ~Node()
    {
        delete left;
        delete right;
    }

    friend void write(const Node*, ostream&, size_t);
};

typedef Node *Tree;

void write(const Node *tree, ostream &out, size_t space  = 0)
{
    if (tree == 0) {
        out << endl;

        return;
    }

    write(tree->left, out, space + tree->data.size());
    write(tree->right, out, space + tree->data.size());

    for (size_t i = 0; i < space; ++i) {
        out << " ";
    }

    out << tree->data << endl;
}

ostream& operator<<(ostream &out, const Node *tree)
{
    write(tree, out);

    return out;
}

int main()
{
    string data("SUPERPROGRAMERI");
    Tree tree = new Node(data,
                         new Node(data,
                                  new Node(data),
                                  new Node(data)),
                         new Node(data,
                                  new Node(data),
                                  new Node(data)));

    cout << tree << endl;
    delete tree;

    return 0;
}
 

Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1224



+92 Profil

icon Re: Binarno drvo-crtanje25.12.2012. u 09:32 - pre 88 meseci
Fali ti još jedan nivo. Reč ima 15 slova.
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 2797



+1146 Profil

icon Re: Binarno drvo-crtanje25.12.2012. u 09:40 - pre 88 meseci
Citat:
Mihajlo Cvetanović: Fali ti još jedan nivo. Reč ima 15 slova.


Ne treba u svakom nodu da se upiše cela reč, nego samo jedno slovo, tako da prilikom postorder obilaska stabla slova čvorova daju (konkatenirana) zadatu reč.

Code:

          I
    R           R
 P     P    R      E
S U   E R  O G   A  M
 
Odgovor na temu

kelimi

Član broj: 310277
Poruke: 2
*.crnagora.net.



Profil

icon Re: Binarno drvo-crtanje25.12.2012. u 13:39 - pre 88 meseci
Hvala na odgovorima ali meni interesuje kako to nacrtati na papiru? Da li to moze neko da mi objasni? Pogrijesio sam sto odmah na pocetku nisam to naglasio. Da se zadatkom trazilo da se upise rijec u vec nacrtano stablo to bih znao da uradim.
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 2797



+1146 Profil

icon Re: Binarno drvo-crtanje25.12.2012. u 14:33 - pre 88 meseci
Znaš, programiranje zahteva malo i da se razmišlja.

Evo ti stablo u excel fajlu. Pokušaj da shvatiš zakonitost pojavljivanja elemenata stabla u koordinatnom sistemu, pa onda napiši program. Za sada neću da ti pomognem. U stvari, neću ti dati nikakvu drugu pomoć dok ne vidim da si nešto isprogramirao, makar i pogrešno.
Prikačeni fajlovi
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Binarno drvo-crtanje

[ Pregleda: 3052 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.