假设线性表长度为n
查找
查找特定元素x,最好的情况是第一个位置就找到,最坏的情况是最后一个位置找到。
总的比较次数是:1+2+…+n,即
n
(
n
+
1
)
2
\frac{n(n+1)}{2}
2n(n+1);
元素x共有n种位置;
则:平均比较次数
n
+
1
2
\frac{n+1}{2}
2n+1,时间复杂度为O(n);
插入
在第i个位置插入数据x,共有
(
n
+
1
)
(n+1)
(n+1)个插入位置;
插入第一个位置时需要移动n次,第二个位置需要移动n-1次,以此类推,总移动次数=n+(n-1)+(n-2)+…+2+1+0=
n
(
n
+
1
)
2
\frac{n(n+1)}{2}
2n(n+1);
则:平均移动次数为
n
2
\frac{n}{2}
2n,时间复杂度为O(n);
删除
删除第i个位置的数据x,共有n个删除位置;
删除第一个节点要移动n-1次,删除第二个要移动n-2次,以此类推,总移动次数=(n-1)+(n-2)+(n-3)+…+2+1+0=
n
(
n
−
1
)
2
\frac{n(n-1)}{2}
2n(n−1);
则:平均移动次数为
n
−
1
2
\frac{n-1}{2}
2n−1,时间复杂度为O(n);
平均移动次数= 总 移 动 次 数 位 置 情 况 个 数 \frac{总移动次数}{位置情况个数} 位置情况个数总移动次数