邻接列表排序算法

时间:2017-11-06 11:22:20

标签: php algorithm binary-tree

我有这种邻接名单:

Binary tree

我需要对此进行排序: 2,7,9,10,5,16,17,11

Basiccaly我有一个表格,我用父ID存储帖子。我可以拥有无​​限数量的关卡。

我只需要PHP中的算法或完整代码。

我尝试使用行/列前缀和一些循环函数的变体。

1 个答案:

答案 0 :(得分:0)

好的,我终于做到了。我是个傻瓜。

public function makeTree($parent_id = 0, &$array = array())
{
   // Get results where parent_id == $parent_id
  $recepts = $this->recept->get()->where("parent_id =" . $parent_id);
   // Foreach through them
   foreach ($recepts as $recept) {
     // Add this to array
     array_push($array, $recept);
     // Repeat
     $this->makeTree($recept["id"], $array);
   }
   return $array;
}