N-ary树层次遍历是一种广度优先搜索算法。在最坏的情况下,该算法将遍历N个节点,因此时间复杂度是O(N)。
下面是Python代码示例:
class Node:
def __init__(self, val=None, children=None):
self.val = val
self.children = children
def levelOrder(root):
if not root:
return []
queue = []
queue.append(root)
result = []
while queue:
level_size = len(queue)
current_level = []
for i in range(level_size):
current_node = queue.pop(0)
current_level.append(current_node.val)
if current_node.children:
queue.extend(current_node.children)
result.append(current_level)
return result
在上面的示例中,我们使用了一个while循环和一个for循环来遍历N-ary树,因此时间复杂度始终为O(N)。