2010-07-12 23 views
2

Comment puis-je créer un quadtree en PHP, est-ce possible?Comment puis-je ... Quadtrees!

Je voudrais une disposition "semblable à une grille". Donc, chaque «nœud» a 4 «sorties» - nord, sud, est et ouest.


Quelqu'un at-il un exemple de code PHP d'un quadtree parce que je ne pouvais pas trouver une documentation spécifique pour PHP :(

je serai votre meilleur ami ... (peut-être un peu là-bas Rep aussi).

+0

Donnez-nous une idée, qu'est-ce que tu veux dire? Vous pouvez avoir un tableau avec chaque élément ayant quatre enfants? –

+0

Désolé, j'étais en train de perdre la tête - question mise à jour –

+0

Bien sûr, c'est possible –

Répondre

0

Si je comprends bien votre question, le suivant pourrait être ce que vous recherchez:

$map = array(
    array(array(1,2,3,4), array(1,2,3,4), array(1,2,3,4), array(1,2,3,4)), 
    array(array(1,2,3,4), array(1,2,3,4), array(1,2,3,4), array(1,2,3,4)), 
    array(array(1,2,3,4), array(1,2,3,4), array(1,2,3,4), array(1,2,3,4)), 
    array(array(1,2,3,4), array(1,2,3,4), array(1,2,3,4), array(1,2,3,4)) 
); 

$map[0][3][3] = "END OF ARRAY 1"; 
$map[1][3][3] = "END OF ARRAY 2"; 

etc.

+3

Je ne pense pas que cela devrait être la solution acceptée - c'est juste un tableau 3D .. pas vraiment ce que OP est de demander – Jeriko

+0

Cela mériterait en effet une classe, qui pourrait implémenter ArrayAccess Traversable, Countable interfaces – greg0ire

+1

@jeriko - comme le OP, je sais ce que je voulais dire;) –

3

de la même façon que vous le faire dans une autre langue. PHP a des références, des variables, et même certaines capacités OO. Il ne manque rien à faire une mise en œuvre quadtree même difficile, beaucoup moins impossible.

0

vous pourrait commencer en regardant doublement linke d listes, ce qui vous donnerait soit une ligne ou une colonne dans votre grille (mais pas les deux), puis regardez l'extension de cela pour refléter la deuxième dimension.