摘要: 当偶尔一切操作很花的时间很慢,而大多数操作的时间都很快的时候,平摊分析的方法就很很好用了。在平摊分析中,我们分析一串操作并且可以得到最坏情况下的平均时间复杂度。例如hash table, disjoint set 和splay tree都是用平摊分析算法的。 举一个简单的hash table的插入算 阅读全文
posted @ 2016-04-06 17:47 贴纸 阅读(989) 评论(0) 推荐(0) 编辑
摘要: 1.置换法 substitution method: (叫假设法比较合适) 2.递归树的方法Recurrence Tree Method 3.主定理 master method 阅读全文
posted @ 2016-04-06 13:14 贴纸 阅读(978) 评论(0) 推荐(0) 编辑
摘要: 之前我们讨论了渐进分析,最佳最坏平均情况的分析以及渐进符号。在这一篇中我们分析一下迭代的简单程序。 1. O(1): 如果程序中没有包含任何的循环,递归或者任何的非常数时间的函数,我们就说这个程序的时间复杂度为O(1)。例如简单的swap()函数就是O(1) 这个程序也是O(1)因为C是常数。所以整 阅读全文
posted @ 2016-04-06 08:40 贴纸 阅读(247) 评论(0) 推荐(0) 编辑