在顺序表中插入和删除一个元素,平均需要移动多少个元素?

在顺序表中插入和删除一个元素,平均需要移动多少个元素?,第1张

需要平均移动约表长一半的元素,具体移动的元素个数与该元素在线性表中的位置有关。

添加到第1个,移动N个元素;

添加到第2个,移动(N-1)个元素;

??

添加到第N个,移动1个元素;

添加到第(N+1)个,移动0个元素

平均:(0+1+2+??+N)/(N+1)=N/2

删除第1个,移动(N-1)个;

删除第2个,移动(N-2)个;

??

删除第N个,移动0个

平均:[0+1+??+(N-1)]/N=(N-1)/2

扩展资料:

插入或删除一个元素,需要移动的是插入或删除元素后面的元素。

由于顺序表的存储特点是:只要确定了起始位置,表中任一元素的地址都通过下列公式得到:LOC(ai)=LOC(a1)+(i-1)*L  1≤i≤n 其中,L是元素占用存储单元的长度。

所以确定了插入或删除元素的位置后,便可算出需要移动的元素个数。

参考资料:百度百科-顺序表

顺序表的插入和删除 *** 作的时间主要耗费在移动元素上,而移动元素的个数取决于插入和删除元素的位置。

最好情况:查找的元素就在表头,仅需比较一次,时间复杂度为O(1)。

最坏情况:查找的元素在表尾(或不存在)时,需要比较n次,时间复杂度为O(n)。

顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中。

即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系,采用顺序存储结构的线性表通常称为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。

顺序表简介:

将表中元素一个接一个的存入一组连续的存储单元中,这种存储结构是顺序结构。

采用顺序存储结构的线性表简称为“ 顺序表”。顺序表的存储特点是:只要确定了起始位置,表中任一元素的地址都通过下列公式得到:LOC(ai)=LOC(a1)+(i-1)*L  1≤i≤n 其中,L是元素占用存储单元的长度。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11638137.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存