在计算机科学,在判断一个算法,有两个假设测试用例想要寻找;一般情况,或多或少是典型的,以及最坏的情况。最坏的情况可能是一个非常糟糕的特殊情况对算法不利--例如,在哈希表那没用链接列表s处理碰撞s;查找现有项瞬间,寻找不存在的可能会迫使你可以搜索大部分列表。或者,最坏的情况可能是成为一个循环图表--这将导致您的算法永远不会完成如果它没有检测到。
或者,最坏的情况可能只是频谱的高端,例如,搜索最后一个(或倒数第二个)链接列表中的项。
不管怎样,在选择算法时,最坏的情况是重要。如果有一个糟糕透顶的最坏情况,也许它应该可以通过不同的算法进行检测和处理。如果最坏情况下的行为不够好,那么可能更好(更快或更少的内存消耗或其他)应该选择算法。
有时最坏的情况是足够稀少只要算法完成,它就可以被忽略或到处工作.然后只考虑一般情况。