数据结构(二)线性表

本文是关于数据结构中线性表的学习笔记,主要包括选择题的解答和算法设计题的解析。选择题涉及顺序表的元素地址计算、操作时间复杂度、链式存储结构的特点等。算法设计题包括求链表交集、找到单链表中的最大值节点以及链表反转等操作。
摘要由CSDN通过智能技术生成

哈哈,有木有感觉我复习的很快!(希望以后的几张也能这么快)
对,我提一下,我的复习方法是先看网易云课堂上小甲鱼的数据结构与算法这门课边听便在书上做笔记,然后去做对应的习题。


1.选择题

(1)顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( B )。

A.110 B.108 C.100 D.120

解释:顺序表中的数据连续存储,所以第5个元素的地址为:100+2*4=108。

(2)在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是( A )。

A.访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
B.在第i个结点后插入一个新结点(1≤i≤n)
C.删除第i个结点(1≤i≤n)
D.将n个结点从小到大排序

解释:在顺序表中插入一个结点的时间复杂度都是O(n),排序的时间复杂度为O(n2)或O(nlog2n)。顺序表是一种随机存取结构,访问第i个结点和求第i个结点的直接前驱都可以直接通过数组的下标直接定位,时间复杂度是O(1)。

(3)线性表若采用链式存储结构时,要求内存中可用存储单元的地址( D )。

A.必须是连续的 B.部分地址必须是连续的
C.一定是不连续的 D.连续或不连续都可以

解释:若采用链式存储结构,内存中可用存储单元的地址是不需要连续的,因为有每个元素都是由数据域和指针域构成的,而指针域就可以告诉后继元素的位置。

(4)线性表L在( B )情况下适用于使用链式结构实现。

A.需经常修改L中的结点值 B.需不断对L进行删除插入
C.L中含有大量的结点 D.L中结点结构复杂

解释:链表最大的优点在于插入和删除时不需要移动数据,直接修改指针即可。

(5)将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是( A )。

A.n B.2n-1 C.2n D.n-1

解释:当第一个有序表中所有的元素都小于(或大于)第二个表中的元素,只需要用第二个表中的第一个元素依次与第一个表的元素比较,总计比较n次。

(6)在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时须向后移动( B )个元素。

A.n-i B.n-i+1 C.n-i-1 D.I

解释:比如说现在有 1 2 3 4 5,共计5(为题中的n)个元素,要在3和4(为题中的i)之间插入x元素,需要把5-4+1个元素后移

(7) 创建一个包括n个结点的有序单链表的时间复杂度是( C )。

A.O(1) B.O(n) C.O(n2) D.O(nlog2n)

解释࿱

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值