题目
5.填空题线性表[1]L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是____。
5.填空题
线性表[1]L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是____。
题目解答
答案
删除线性表中第 $ i $ 个元素时,需将第 $ i+1 $ 到第 $ n $ 个元素前移,共需移动 $ n-i $ 个元素。
总移动次数为:
\[
\sum_{i=1}^{n} (n-i) = (n-1) + (n-2) + \cdots + 1 + 0 = \frac{n(n-1)}{2}
\]
平均移动次数为:
\[
\frac{\frac{n(n-1)}{2}}{n} = \frac{n-1}{2}
\]
因此,删除一个元素平均需要移动的元素个数是 $ \frac{n-1}{2} $。
答案:$ \frac{n-1}{2} $
解析
考查要点:本题主要考查线性表的数组表示及其删除操作的时间复杂度分析,涉及平均移动次数的计算。
解题核心思路:
- 明确删除操作的移动规律:删除第 $i$ 个元素时,需将第 $i+1$ 到第 $n$ 个元素前移,移动次数为 $n-i$。
- 计算总移动次数:对所有可能的 $i$(从 $1$ 到 $n$)求和,转化为等差数列求和。
- 求平均值:总移动次数除以元素个数 $n$,得到平均移动次数。
破题关键点:
- 等差数列求和公式的应用:$\sum_{k=1}^{m}k = \frac{m(m+1)}{2}$,需注意调整求和项的起始值。
步骤1:分析单次删除的移动次数
删除第 $i$ 个元素时,需将第 $i+1$ 到第 $n$ 个元素依次前移一位,因此移动次数为:
$n - i$
步骤2:计算总移动次数
所有可能的删除位置对应的移动次数之和为:
$\sum_{i=1}^{n} (n - i) = (n-1) + (n-2) + \cdots + 1 + 0$
此为等差数列求和,首项 $a_1 = n-1$,末项 $a_n = 0$,项数为 $n$,总和为:
$\frac{(n-1 + 0) \cdot n}{2} = \frac{n(n-1)}{2}$
步骤3:求平均移动次数
平均移动次数为总移动次数除以元素个数 $n$:
$\frac{\frac{n(n-1)}{2}}{n} = \frac{n-1}{2}$