我写了一个算法来查找链表中的重复项 对于每个节点,我从列表的头部迭代到当前节点,如果它是重复的,则删除它。
算法的复杂程度是多少?
答案 0 :(得分:4)
算法的复杂性为Θ(n^2)
最坏情况,因为如果没有欺骗,则为每个节点迭代一次线性增加的次数,导致总共{{1总读数为1 + 2 + .... + n
(来自sum of arithmetic progression)
在最佳情况,复杂性为Θ(n^2)
- 如果所有元素都是dupes复杂性为Θ(n)
,因为在每次迭代时列表都会缩小,最多导致2节点每次迭代读取,因此Θ(n)