平均案例复杂度 - 线性算法的计算

时间:2013-11-01 10:45:52

标签: algorithm complexity-theory

只是一个简单的问题:

如果我有一个线性搜索算法(一旦达到某个条件就会经历每个元素),如何计算n = 500的平均大小写复杂度?最坏的情况和最好的情况很容易。

2 个答案:

答案 0 :(得分:3)

平均情况同样简单:只要您找到的项目是唯一的,平均而言您将不得不在列表的中途看到+ 0.5。

假设您只查看列表中的每个项目一次。当您查找第一个项目时,您将需要检查1个项目。当您查找第二个项目时,您将需要检查2个项目,依此类推。检查总数为

1 + 2 + 3 + ... + 500 = 125250

因此,通过500次查找,您将检查总共125250个项目。平均而言,每次查询检查250.5次。

如果您的查找模式不一致,那么这会使您的平均情况出现偏差(例如,如果您更频繁地查看列表开头的项目,或者重复某些项目并找到其中任何一项就足够了)

答案 1 :(得分:0)

线性搜索算法的平均情况复杂度为n + 2 其中n是列表中元素的数量。