【发布时间】:2020-02-09 08:20:42
【问题描述】:
我认为它应该是二次的,即 O(n^2)。我正在从这个来源阅读prefix to postfix。我假设追加两个字符串需要线性时间(O(我们要追加的两个字符串的大小之和)),我们需要追加的最大次数可以达到 O(n),因此总体复杂度是 O(n^ 2)。 有人可以判断我是否错了吗?有人可以提供更好的证据吗?
【问题讨论】:
-
看起来你是对的,但当然你可以用不同的方式实现它,所以它是 O(n)。
-
@kaya3 你能提供在 O(n) 中的任何此类教程的链接吗?
-
本质上是一样的算法,只是用二叉树来表示表达式,并将树节点存放在栈中,而不是字符串;然后在最后用 StringBuilder 构建整个输出字符串。
标签: data-structures stack time-complexity postfix-notation