BinaryTree上BFS和DFS的时间复杂度:为什么是On?

问题描述

图上BFS或DFS的时间复杂度为O(V + E),因为我们遍历了图的所有节点和边缘。 (我明白了)但是对于一棵二叉树,BFS和DFS的时间复杂度是O(V)...为什么?

我认为是由于以下原因:O(V + E)= O(V + V-1)= O(2V)= O(V)。这是正确的推理吗?如果不是这样,将不胜感激。谢谢

解决方法

所有树都有n - 1条边,n是节点数。从技术上讲,时间复杂度仍为O(V + E),但等于O(n +(n-1))= O(n)。