我试图了解算法的作用



我试图理解算法。我认为这是从P到Q的最短路线,但这并不总是正确的(p,q,二进制树中的两个节点)..谢谢!

   c <- 0 
   while p ≠ q 
      if right[p] ≠ NULL 
         p <- right[p] 
         while left[p] ≠ NULL 
            p <- left[p] 
      else 
         if left[p] = NULL 
            c <- c + 1 
         while p = right[parent[p]] 
            p <- parent[p] 
         p <- parent[p] 
   return c 

如果您按其值遍历节点,则在节点P和Q之间计算叶子数。

它正在计算树中有多少个底部级节点(即那些既不是右子也没有左子女的节点)。请注意," c"仅对这是真的的节点进行增量。

最新更新