C++ 逐级打印树?

C++ 逐级打印树?,c++,algorithm,tree,C++,Algorithm,Tree,正在阅读第一个建议的算法:: 他们提到,在最坏的情况下,时间复杂度是O(N^2),但为什么呢 我们只扫描每个节点一次,这意味着复杂性始终为O(N)。您扫描每个节点h(分支)-h(节点)+1次 请参见此示例: A \ B \ C \ D 在printGivenLevel(树,1)中,只扫描一个,然后完成。 在printGivenLevel(树,2)中,扫描A和B,然后完成 在printGivenLevel(树,3

正在阅读第一个建议的算法::

他们提到,在最坏的情况下,时间复杂度是O(N^2),但为什么呢

我们只扫描每个节点一次,这意味着复杂性始终为O(N)。

您扫描每个节点
h(分支)-h(节点)+1次

请参见此示例:

   A
    \
     B
      \
       C
        \
         D
在printGivenLevel(树,1)中,只扫描一个,然后完成。 在printGivenLevel(树,2)中,扫描A和B,然后完成 在printGivenLevel(树,3)中,扫描A、B和C,然后完成 在printGivenLevel(树,4)中,扫描A、B、C和D,然后完成

把这些加在一起就得到了,也就是O(n^2)

   A
    \
     B
      \
       C
        \
         D