Я хочу найти пустой узел в бинарном дереве поиска.
Для этого я использовал рекурсию. Ниже мой код:
function getNullNode($catid){
$sql = "select * from `mlm_reg` where `key` ='".$catid."'";
$result = mysql_query($sql);
$getnnum = mysql_num_rows($result);
while($fetchCat = mysql_fetch_object($result)){
if(count($fetchCat) < 2){
$newId = $catid;
return $newId;
} else {
getNullNode($fetchCat->mlm_id);
}
}
}
mlm_id — это идентификатор пользователя и ключ = ссылочный идентификатор, но он дал мне пустое значение.
Примечание. Родитель может создать только двух детей.
Пример: Предположим, что администратор создал двух дочерних элементов a, b, и если он хочет добавить третьего дочернего элемента, он будет добавлен в b или c, поэтому для этого я ищу нулевой узел или родительский элемент, которые имеют только 1 или 0 дочерних элементов, и если b и c оба имеют два / два ребенка потом будут искать их.
Но приведенный выше код не дал мне родительский идентификатор Может кто-нибудь увидеть эту проблему.
Что я делаю не так
function getNullNode($catid){
$sql = '';
$result = '';
$getnnum = '';
$fetchCat = '';
$sql = "select * from `mlm_reg` where `key` ='".$catid."'";
$result = mysql_query($sql);
$getnnum = mysql_num_rows($result);
if($getnnum < 2){
return $catid;
} else {
while($fetchCat = mysql_fetch_object($result)){
return getNullNode($fetchCat->mlm_id);
}
}
}
Других решений пока нет …