Je vais essayer de me rendre aussi clair que possible. Basé de contiguïté Liste Modèle: http://articles.sitepoint.com/article/hierarchical-data-databaseComment équilibrer l'arbre binaire en PHP sans rotation de parent?
je besoin d'un moyen d'équilibrer cet arbre
0
/\
1 2
//\
3 4 5
\ \
6 7
à quelque chose comme:
0
/ \
1 2
/\ /\
3 4 5 6
/
7
Sur la base de l'exemple de code:
<?php
function display_children($parent, $level) {
$result = mysql_query('SELECT title FROM tree '.
'WHERE parent="'.$parent.'";');
while ($row = mysql_fetch_array($result)) {
echo str_repeat(' ',$level).$row['title']."\n";
display_children($row['title'], $level+1);
}
}
?>
J'ai modifié le code afin qu'il puisse produire une table html plate comme ceci:
$ super_parent = « 0000 » gauche entrées de nœud dans la liste plate:
____________________________________________________
| No. | Date of Entry | Account ID | Placement|
------------------------------------------------------
| 1 | 2010-08-24 11:19:19 | 1111a | a |
| 2 | 2010-08-24 11:19:19 | 22221a_a | a |
| 3 | 2010-08-24 11:19:19 | 33_2aa | b |
| 4 | 2010-08-24 11:19:19 | 33_2Ra | a |
| 5 | 2010-08-24 11:19:19 | 22221a_b | b |
| 6 | 2010-08-24 11:19:19 | 33_2ba | a |
| 7 | 2010-08-24 11:19:19 | 33_2bb | b |
------------------------------------------------------
Mais je besoin d'un moyen de réorganiser tout cela dans un arbre équilibré sans bouger ou tourner le parent. Bien que je peux penser à la création d'une table en double dans la db et faire une deuxième requête pour afficher ou créer un autre arbre Binaray, je pensais qu'il peut être possible de réorganiser un arbre plat comme celui-ci dans:
0
/ \
1 2
/\ /\
3 4 5 6
/
7
De gauche à droite. 0 représente le parent ou super_parent 0000.
La raison pour laquelle je voudrais faire ceci est que je puisse créer un arbre virtuel à partir de l'arbre d'origine qui sera la base d'un autre algorithme dans mon projet.
Merci d'avance.
Bob
Ceci est une approche sans POO. L'arbre binaire a été fait. Ensuite, cet algorithme binaire sidelick a été ajouté. – OBL
ok, s-e-n-d à mon yah-oo m-a-i-l "pcc_webmaster" s'il vous plaît ajouter le com at-y-a-hoo-dot. J'ai une nouvelle question liée à la limite de paires par jour avant de débusquer. S'il vous plaît jeter un oeil Si vous êtes heureux d'aider, j'ai besoin d'avoir une image claire à ce sujet. Ma date limite est le 27 février 2011. – OBL
Sirin, je voudrais demander la copie de ce code que vous avez expliqué ci-dessus pour une étude personnelle. Mon adresse e-mail est: "[email protected]". Merci d'avance. Oliver Bob Lagumen – OBL