Forum Informatyka UJ forum Strona Główna Informatyka UJ forum
Rocznik 2005 - czyli najlepsze forum w sieci
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

SetTree - grupa dra Kozika

 
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 1 rok / 2 i 3 semestr - Programowanie
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
r4ku
żul



Dołączył: 09 Lut 2006
Posty: 722
Przeczytał: 0 tematów

Skąd: klikash? :D

PostWysłany: Nie 3:30, 07 Sty 2007    Temat postu: SetTree - grupa dra Kozika

mam problem: czy ktos moglby mi powiedziec jak to cudo ma wygladac?
czy maja byc 3 funkcje getIterator? osobne dla pre,post i inorder? czy moze jedna zwaracjaca odpowiedni iterator w zaleznosci od parametru?
i o co chodzi z randomizacja wyjscia (albo wejscia nie bardzo pamietam)?
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
cheater_
Orajt:)



Dołączył: 28 Lut 2006
Posty: 1022
Przeczytał: 0 tematów


PostWysłany: Nie 5:18, 07 Sty 2007    Temat postu:

Z tego co wiem, to chyba mają być 3 osobne. A randomizacja nie miała być przypadkiem przy wstawianiu do drzewa (losowo idziemy w prawo lub lewo aż dojdziemy do wolnego miejsca)? Bo nie wiem gdzie możnyby coś innego zrandomizować :P
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Roxel
pijak



Dołączył: 06 Kwi 2006
Posty: 249
Przeczytał: 0 tematów

Skąd: Pszczyna

PostWysłany: Nie 11:21, 07 Sty 2007    Temat postu:

Ja mam to zrobione jakos tak:

Kod:
#include "Set.h"
#include "Tree.h"

template <class T>
class TreeSet : public P2::Set<T> {
    private:
        // ...
    public:
        TreeSet();
        ~TreeSet();
        bool contains(T &el);
        void insert(T &el) throw (P2::AlreadyInSetException);
        void remove(T &el) throw (P2::NoSuchElementException);
        int size();
        class InorderIterator;
        class PreorderIterator;
        class PostorderIterator;
      
        typename P2::Set<T>::Iterator * getIterator(); // u mnie zwraca InorderIterator, nie mozna tego wywalic z powodu dziedziczenia
      
        InorderIterator * getInorderIterator();
        PreorderIterator * getPreorderIterator();
        PostorderIterator * getPostorderIterator();
};

template <class T>
class TreeSet<T>::InorderIterator : public P2::Set<T>::Iterator {
    private:
        // ...
    public:
        InorderIterator(Tree<T> * tree);
        ~InorderIterator();
        bool hasNext() throw (P2::InvalidStateException);
        void next() throw (P2::NoNextElementException, P2::InvalidStateException);
        T current() throw (P2::InvalidStateException);       
};
// pozostale dwa iteratory identycznie


A o zadnej randomizacji nie slyszalem :shock:
Mam zwykle drzewo binarne z cormena.
Powodzenia r4ku :)
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
r4ku
żul



Dołączył: 09 Lut 2006
Posty: 722
Przeczytał: 0 tematów

Skąd: klikash? :D

PostWysłany: Nie 13:16, 07 Sty 2007    Temat postu:

dzieki za pomoc
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
oinopion
żul



Dołączył: 28 Lis 2005
Posty: 858
Przeczytał: 0 tematów

Skąd: Kraków

PostWysłany: Nie 14:29, 07 Sty 2007    Temat postu:

Randomizacja jest przy usuwaniu: wybierasz, w którym poddrzewie będziesz szukał tego elementu, który zastąpi usuwany w drzewie.

Itereatory mają być trzy. Funkcja je zwracająca nie była precyzowana, można zrobić trzy funkcje jak Roxel i ja, albo jedną parametryzowaną np. jakimś enumem.

BTW A czy termin treeset'a nie był ustalony na koniec listopada? ]:->
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
cheater_
Orajt:)



Dołączył: 28 Lut 2006
Posty: 1022
Przeczytał: 0 tematów


PostWysłany: Nie 14:48, 07 Sty 2007    Temat postu:

oinopion napisał:
Randomizacja jest przy usuwaniu: wybierasz, w którym poddrzewie będziesz szukał tego elementu, który zastąpi usuwany w drzewie.
to w takim razie jak masz zrobione wstawianie? Na jakiej podstawie decydujesz czy szukając wolnego miejsca iść w prawo czy w lewo?
oinopion napisał:
BTW A czy termin treeset'a nie był ustalony na koniec listopada? ]:->
eeeeetam :P
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
oinopion
żul



Dołączył: 28 Lis 2005
Posty: 858
Przeczytał: 0 tematów

Skąd: Kraków

PostWysłany: Nie 15:45, 07 Sty 2007    Temat postu:

Randomizacja usuwania nie zmienia własności drzewa binarnego: zawsze na lewo mam mniejsze, na prawo mam większe [równych nie ma, bo to zbiór] wierzchołki.
Jeśli usuwam wierzchołek u, to na jego miejsce mogę wstawić:
-> największy z mniejszych [na lewo] od u: bo jest większy od wszystkich pozostałych mniejszych [na lewo] od u, a mniejszy od wszystkich większych [na prawo] od u;
-> najmniejszy z większych [na prawo] od u: bo jest mniejszy od wyszstkich pozostałych większych [na prawo] od u, a większy od wyszstkich mniejszych [na lewo] od u;

Największy z mniejszych znajduje się w jeden-na-lewo-do-końca-w-prawo wierzchołku, a najmniejszy z większych znajduje się w jeden-na-prawo-do-końca-w-lewo wierzchołku :P
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
cheater_
Orajt:)



Dołączył: 28 Lut 2006
Posty: 1022
Przeczytał: 0 tematów


PostWysłany: Nie 18:34, 07 Sty 2007    Temat postu:

Ej, zaraz zaraz, jak ty chcesz porównywac wierzchołki, skoro to jest template do którego można wrzucić jakąkolwiek klasę, której obiekty niekoniecznie muszą być porównywalne??

I dlatego właśnie uważam, że pomysł robienia uniwersalnego setu na drzewie jest pomysłem z dupy, bo w takim układzie lista jest w ch** szybsza. :?
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
exeman
Mistrz grilla



Dołączył: 03 Lut 2006
Posty: 1603
Przeczytał: 0 tematów

Skąd: znienacka

PostWysłany: Nie 19:00, 07 Sty 2007    Temat postu:

Ja tez to jeszcze mam do zakodzenia. Z dupy to jest i do dupy.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
oinopion
żul



Dołączył: 28 Lis 2005
Posty: 858
Przeczytał: 0 tematów

Skąd: Kraków

PostWysłany: Nie 22:29, 07 Sty 2007    Temat postu:

cheater_ napisał:
Ej, zaraz zaraz, jak ty chcesz porównywac wierzchołki, skoro to jest template do którego można wrzucić jakąkolwiek klasę, której obiekty niekoniecznie muszą być porównywalne??

Jeśli nie przeładujesz operatora porównania, to wtedy wywali błąd przy kompilacji. Tylko kto wie jaki? [link widoczny dla zalogowanych]
Niestety, nie można tak jak w dżawie określić wymagań co do typu. Trzeba po prostu uważać i tyle. C++ w założeniach ma, że piszący nie jest idiotą [tzn. nie jest idiotoodporny].
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
cheater_
Orajt:)



Dołączył: 28 Lut 2006
Posty: 1022
Przeczytał: 0 tematów


PostWysłany: Pon 0:08, 08 Sty 2007    Temat postu:

Eee, to jest maniana :P Nie można takich rzeczy pisać, set to set - ma działać dla wszystkiego, użytkownik nie musi wiedzieć co jest w środku. Dlatego podtrzymuję moją tezę o byciu z dupy tego zadania :P
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
exeman
Mistrz grilla



Dołączył: 03 Lut 2006
Posty: 1603
Przeczytał: 0 tematów

Skąd: znienacka

PostWysłany: Śro 0:37, 10 Sty 2007    Temat postu:

Co bylo na dzisiejszych zajeciach? Jak wyglada sparwa projektow - jaki termin? Mowil cos o tych zadaniach malych z zajec do kiedy trzeba oddac?
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
hansu
Nieomylny Admin



Dołączył: 17 Lis 2005
Posty: 1990
Przeczytał: 0 tematów

Skąd: przychodzimy? Czym jestesmy? Dokad zmierzamy?

PostWysłany: Śro 2:24, 10 Sty 2007    Temat postu:

Projekty do ostatnich zajec trzeba przyniesc, nie mowil nic o terminach oddawania malych zadan.

BTW nienawidze swiata i chce zeby przestal istniec, wymorduje wszystkich ludzi. Milego dnia.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
cheater_
Orajt:)



Dołączył: 28 Lut 2006
Posty: 1022
Przeczytał: 0 tematów


PostWysłany: Śro 4:40, 10 Sty 2007    Temat postu:

Ja dziś dopiero skończyłem TreeSeta (ale jak zajebiście :P ), a jeszcze ta sakramenka Java... ech madafaka
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
dzendras
Germański oprawca



Dołączył: 07 Mar 2006
Posty: 1326
Przeczytał: 0 tematów

Skąd: Chorzów

PostWysłany: Śro 10:00, 10 Sty 2007    Temat postu:

hansu napisał:
BTW nienawidze swiata i chce zeby przestal istniec, wymorduje wszystkich ludzi. Milego dnia.
Tylko oszczędź gołębie!
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
exeman
Mistrz grilla



Dołączył: 03 Lut 2006
Posty: 1603
Przeczytał: 0 tematów

Skąd: znienacka

PostWysłany: Śro 2:50, 17 Sty 2007    Temat postu:

Jak realizujecie wedrowanie post pre i inorder z danego konkretnego elementu? Jakie to mniej wiecej na to sa algorytmy bo mi to jakos nie idzie. :>
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
oinopion
żul



Dołączył: 28 Lis 2005
Posty: 858
Przeczytał: 0 tematów

Skąd: Kraków

PostWysłany: Śro 2:56, 17 Sty 2007    Temat postu:

Użyj parenta i zbadaj, jakie są możliwości.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
cheater_
Orajt:)



Dołączył: 28 Lut 2006
Posty: 1022
Przeczytał: 0 tematów


PostWysłany: Śro 13:46, 17 Sty 2007    Temat postu:

Ja nie miałem ochoty się z tym chrzanić i zrobiłem to brutalem - przeglądam drzewo danym orderem i wywalam następny po szukanym :P Wydajność jest co prawda żadna, ale kto by się tym przejmował :P
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
exeman
Mistrz grilla



Dołączył: 03 Lut 2006
Posty: 1603
Przeczytał: 0 tematów

Skąd: znienacka

PostWysłany: Śro 16:19, 17 Sty 2007    Temat postu:

Jakie to wszystko jest poj$$$@$#@.
Inordera mam tak:
1. Jesli istnieje prawy to zwroc prawy, w przeciwnym wypadku
2. cofaj sie tak dlugo az nie bedzie wychodzi prawy i wtedy zwroc pierwszy mozliwy prawy
Nie dziala.

Preordera mam tak:
1. Zwroc lewy jesli istnieje, a jesli nie to prawy jesli istnieje, a jesli nie to
2. Cofaj sie tak dlugo az wyjdziesz z prawego ogona
3. Cofaj sie tak dlugo az bedzie istnial prawy i wybierz go.

Nie da sie tego prosciej zrobic? :/
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
exeman
Mistrz grilla



Dołączył: 03 Lut 2006
Posty: 1603
Przeczytał: 0 tematów

Skąd: znienacka

PostWysłany: Śro 16:40, 17 Sty 2007    Temat postu:

A kij, zrobie jak cheater :P
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 1 rok / 2 i 3 semestr - Programowanie Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin