C++ 逐级打印树?
正在阅读第一个建议的算法:: 他们提到,在最坏的情况下,时间复杂度是O(N^2),但为什么呢 我们只扫描每个节点一次,这意味着复杂性始终为O(N)。您扫描每个节点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
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