Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

QuadTree problem z organizacją klasy

Ostatnio zmodyfikowano 2011-07-29 22:08
Autor Wiadomość
kamillo121
Temat założony przez niniejszego użytkownika
QuadTree problem z organizacją klasy
» 2010-10-24 17:47:23
Witam, otóż próbuję znaleźć jakiś sposób na zorganizowanie klasy quadtree, głównie chodzi o szukanie elementu względem jakiejś wartości.
Teraz tak mam taką strukturę
C/C++
template < typename T > struct quadNode
{
    quadNode();
    quadNode( const T * Data );
   
    T * _data;
    quadNode < T > * _ne, * _se, * _sw, * _nw;
};

Teraz próbuję utworzyć klasę QuadTree, która będzie przeprowadzać wszelkie działania na "dzieciach" jak dodawanie, usuwanie, znajdywanie, no ale z tym wszystkim wiąże się jeden problem, np jak będę chciał dodać jakiś element, usunąć lub znaleźć to będę musiał najpierw porównać dany element czy odpowiada kryteriom. Teraz nie wiem czy po prostu klasa QuadTree miałaby metodę, która przyjmowałaby np wskaźnik na funkcję, która miałaby w arg. np wskaźnik na data i porównywałaby go np.
C/C++
bool checkElem( const Field * Elem )
{
    if( Elem->cosTam == ilesTam )
         return true;
   
    return false;
}

QT->findElem( TutajWska ź nikNafunkcjeCheckElem );
//w metodzie findElem zostałaby wywołana z argumentem data

Tylko powiedzmy, że takie porównanie występowałoby 100 razy na 10ms albo i 200 więc szukam takiego sposobu by było to dość efektywne, co o tym myślicie, może macie jakiś inny pomysł ?
P-23270
kamillo121
Temat założony przez niniejszego użytkownika
» 2011-07-29 22:08:55
Stare dzieje, temat nadrzędny jest już dawno nieaktualny ale pytanie, które zadam dotyczy tego wiec nie będę tworzył nowych.
Chodzi mi głównie o poruszanie się po drzewku, do tej pory używałem rekurencji bo nic innego do głowy mi nie przyszło.
Czy nasuwa wam się może jakiś sposób na poruszanie się po drzewku bez rekurencji ?
Myślałem nad znaczeniem odwiedzanych gałęzi ale to jest raczej bez sensu bo trzeba doliczyć spory czas na zmienianie wartości pól za każdym razem.
Dodawanie za każdym razem odwiedzonych do agregatu też może być bolesne..
P-37592
« 1 »
  Strona 1 z 1