迭代循环 - 复杂性

时间:2012-12-17 10:30:20

标签: algorithm linked-list complexity-theory

我写了一个算法来查找链表中的重复项 对于每个节点,我从列表的头部迭代到当前节点,如果它是重复的,则删除它。

算法的复杂程度是多少?

1 个答案:

答案 0 :(得分:4)

算法的复杂性为Θ(n^2) 最坏情况,因为如果没有欺骗,则为每个节点迭代一次线性增加的次数,导致总共{{1总读数为1 + 2 + .... + n(来自sum of arithmetic progression


最佳情况,复杂性为Θ(n^2) - 如果所有元素都是dupes复杂性为Θ(n),因为在每次迭代时列表都会缩小,最多导致2节点每次迭代读取,因此Θ(n)