php - 使用mysql在php中的二叉搜索树中获取空白节点

标签 php mysql recursion depth-first-search

我想找出二叉搜索树中的空白节点。 为此,我使用了递归。以下是我的代码:

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 是用户 id 和 key = refer id 但它给了我空白值。
注意: parent 只能创建两个 child 。
示例:假设管理员创建了两个 child a、b,如果他想添加第三个 child ,那么它将添加到 b 或 c 下,所以为此我正在搜索只有 1 个或 0 个 child 的空节点或父节点,如果 b 和 c 都有二/两个 child 然后它将搜索他们的。

但是上面的代码不会给我父 ID 有人可以看到这个问题吗? 我做错了什么

最佳答案

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);
        } 
 } 
}

关于php - 使用mysql在php中的二叉搜索树中获取空白节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34927280/

相关文章:

php - 前端的 Ajax 和 WordPress - 数据库未更新

php - 这是一次将多个文本字段添加到 mysql 中的正确方法吗?

php - 最大化 PHP/MYSQL 查询的 RAM

php - 如何确保所有sql查询运行没有错误?

python - 使用不同的结果对从 1st .. 开始的记录进行排名

recursion - 每个递归函数都可以重写为迭代函数吗?

algorithm - N-Queens 算法的变体

php - WordPress WP_Query 循环似乎与实际查询不同

mysql - n 是否有限制?处理 SQL 查询时的记录?

python - 通过递归仅获取数字中的奇数位