【发布时间】:2023-03-29 12:49:01
【问题描述】:
阅读第一个建议的算法:https://www.geeksforgeeks.org/level-order-tree-traversal:
/*Function to print level order traversal of tree*/
printLevelorder(tree)
for d = 1 to height(tree)
printGivenLevel(tree, d);
/*Function to print all nodes at a given level*/
printGivenLevel(tree, level)
if tree is NULL then return;
if level is 1, then
print(tree->data);
else if level greater than 1, then
printGivenLevel(tree->left, level-1);
printGivenLevel(tree->right, level-1);
他们提到在最坏的情况下时间复杂度是O(N^2),但为什么呢?
我们只扫描每个节点一次,这意味着复杂度总是 O(N)。
【问题讨论】: