Answers:
最坏情况分析的自然变体也很有用。也许最著名的一个是参数化的复杂性。在这里,我们考虑“二维”测量:通常的输入长度和一些其他的非负整数(参数)。即使算法在最坏的情况下(对于和所有值)都可能可怕地运行,也可能是某个应用程序中所有需要解决的情况,该参数恰好很低,因此算法运行良好在那些情况下。
例如,假设您要解决某类图上的最大独立集,并开发出一种令人惊讶的快速有趣算法。进一步研究图本身,您发现您检查的所有图恰好具有最多树宽。好吧,Bodlaender(参见Neidermeier [1])表明,当树宽为k时,最大独立集是固定参数易处理的:可以在时间内求解。这可以解释为什么您的算法运行良好。
[1] R. Niedermeier,邀请参加固定参数算法。牛津数学及其应用系列讲座,牛津大学出版社,牛津,2006年。
存在摊销的复杂性-为什么某些操作在最坏的情况下可能会付出高昂的代价,但是如果考虑许多操作,则每项操作的平均成本是好的。
一个典型的例子是一个数据结构,当数据结构已满时,它会通过将其所有元素复制到某个存储中来清空自身。复制操作可能会很昂贵,但它并不经常发生-您必须在数据结构中插入足够的元素才能激发它。