线性表易错点

1.静态链表中指针指示的是链表下一元素在数组中的地址(下标)

2.将两个有n个元素的有序表归并成一个有序表,最少比较次数为n

解答:当其中一个有序表所有元素均小于另一个有序表所有元素时即为比较次数最少

3.静态链表相比于顺序表的优点是插入删除较为方便,但需要分配较大的存储空间

4.顺序表插入算法中,当n个空间已满时,可在申请m个空间,若申请失败,证明系统没有m+n个可分配的空间

解答:系统做法是将原来的n个元素放到新分配的n+m个空间的前n个位置

5.若用单链表表示队列,则应该选用带尾指针的循环链表

解答:因为队列是队头删除元素,队尾插入元素,带尾指针的循环链表既容易找到表头也容易找到表尾

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

解答:先将数组排序(最好的排序算法时间复杂度为O(nlog2n)),在建立链表(复杂度O(n)),所以总复杂度O(nlog2n),若先建立链表再逐个将数组元素插入,每插入一个元素须比较n次,所以为O(n^2)

7.谋陷洗标用带头结点的循环单链表存储,头指针为head,当head->next->next=head成立时,线性表长度为(0或1)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
线性表是一种常见的数据结构,它是由一组具有相同数据类型的元素组成的序列。线性表的元素之间存在一对一的关系,即每个元素都有一个前驱元素和一个后继元素,除了第一个元素没有前驱元素,最后一个元素没有后继元素。 线性表的常见操作包括插入、删除、查找和修改等。下面是一些关键的知识: 1. 顺序存储结构:线性表的顺序存储结构是使用数组来实现的,元素在内存是连续存储的。通过下标可以直接访问元素,插入和删除操作需要移动其他元素。 2. 链式存储结构:线性表的链式存储结构是使用链表来实现的,每个节包含数据和指向下一个节的指针。插入和删除操作只需要修改指针,不需要移动其他节。 3. 单链表:每个节只包含一个指向下一个节的指针。 4. 双链表:每个节包含一个指向前一个节和一个指向后一个节的指针。 5. 循环链表:尾节指向头节,形成一个循环。 6. 静态链表:使用数组来实现链表,通过游标来表示指针。 7. 线性表的基本操作: - 初始化:创建一个空的线性表。 - 插入:在指定位置插入一个元素。 - 删除:删除指定位置的元素。 - 查找:根据元素的值或位置查找元素。 - 修改:修改指定位置的元素。 - 遍历:依次访问线性表的每个元素。 8. 线性表的应用:线性表是其他数据结构的基础,常用于实现栈、队列、数组等数据结构

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值