线性表 错题总结(2023王道数据结构)

本文探讨了在含有2n个元素的线性表中,单链表与顺序表在不同操作上的效率差异,如删除特定值、插入元素和交换元素。在删除所有值为x的元素时,单链表更具优势,而顺序表在插入到末尾和按序号查找时更快。对于查找前k个元素和交换指定位置元素,两者效率相当。建立有序单链表的时间复杂度分析中,通过先排序再插入的方法可以达到O(nlog2n)的效率。
摘要由CSDN通过智能技术生成

设线性表中有2n个元素,()在单链表上实现要比顺序表上实现效率更高

A 删除所有值为x的值(✓)按值查找时二者时间复杂度是一样的,为O(n),但在插入删除方面 单链表更为快捷

B 在最后一个元素后面插入一个新元素(×)要找到最后一个元素,单链表需要跑遍全表,而顺序表按序号查找一步到位,且顺序表中,在最后插入无需移动元素。

C 顺序熟悉前k个元素(×)都得从头一个个找,所以二者没有差别

D 交换第i个和第2n-i-1个元素(×)对于按序号查找永远顺序表有优势,想想单链表要从头哒哒哒的找到第i个,再找第2n-i-1,想想就头疼

给定的n个元素的一维数组,建立一个有序单链表的最低时间复杂度为()

首先题目有两个要求,①有序,②建立单链表

有两种想法①先建好单链表再插入元素,即直接插入法O(n^2)   ②先在数组中排好序O(nlog2n),再插入有序表中O(n),故整体复杂度为O(nlog2n)

注意:时间复杂度的加法和乘法。

        当二者有时间顺序,是平行关系,使用加法,取二者中最大值;O(m)+O(n)={Max(O(m),O(n)}

         当二者是嵌套,就需要使用乘法,O(m)×O(n)=O(mn)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值