1
3
因此,虽然它在扩展字符串时是线性的,但它将
|
2
0
此处的理由(根据您的链接)为:
那么“摊销”这部分意味着什么呢?因为你是对的,字符串比较在T中是线性的,如果算法对S的每个元素进行比较,那么时间复杂度将是O(TS)。 我思考摊销的最好方法是问这样一个问题:“我们接触每个元素多少次?” 一、 当T在字符串S上滑动时,T的每个元素一次。然后可能还会删除 但事实并非如此。因为我们只在有散列匹配的情况下进行比较,而且因为他们声称虚假匹配非常罕见,所以我们可以有效地 只有 当存在实际匹配时获取哈希匹配(该声明可能为真,也可能为假,这将需要对哈希算法进行调查),然后逻辑更改: 如果我们只在有匹配的情况下进行字符串比较,那么就在删除字符之前,我们比较了多少次元素 一、 ? 现在触摸一次进行比较,然后立即删除-然后它就消失了,再也没有触摸过。这使得每个元素的时间恒定O(2)=O(1),因此仅在元素数量上呈线性,总时间复杂度=O(S)。 |
Alex Cai · 未最大化后的AWT面板布局问题 2 年前 |
GoGoAllen · 如何针对所有类型的浏览器大小修复我的网页布局? 6 年前 |
Tarzan · Python调整图像大小 6 年前 |
Eddy · 调整窗体大小时调整标签字体大小 6 年前 |
Nemo XXX · 如何在QTableView中按比例调整列宽? 6 年前 |
Brian Hamill · Numpy调整图像大小/重缩放图像 6 年前 |