《数据结构与算法》复习题
一、选择题。
20.如果最常用的操作是取第i个结点及其前驱,则采用存储方式最节省时间。
A.单链表 B.双链表 C.单循环链表 D. 顺序表
21.在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是
A.O(1) B.O(n) C.O(n2) D.O(nlog2n)
27.下述哪一条是顺序存储结构的优点?。
A插入运算方便 B可方便地用于各种逻辑结构的存储表示
C存储密度大 D删除运算方便
35.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是41.以下
A.从队尾插入一个新元素B.从队列中删除第i个元素C.判断一个队列是否为空D.读取队头元素的值
47.在循环队列中,若front与rear 分别表示对头元素和队尾元素的位置,则判断循环队列空的条件是
A.front==rear+1 B.rear==front+1 C.front==rear D.front==0
4.向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行50.若栈采用顺序存储方式存储,现两栈共享空间V[1 m],top[1]、top[2]分别代表第1和第2个栈的栈顶,栈1的底在V[1],栈2的底在V[m],则栈满的条件是 B 。
A.|top[2]-top[1]|=0 B. top[1]+1=top[2] C.top[1]+top[2]=m D.top[1]=top[2]
52.允许对队列进行的操作有。
A.对队列中的元素排序 B.取出最近进队的元素 C.在队头元素之前插入元素 D.删除队头元素
54.若用一个大小为6的数值来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为 B 。
A.1和5 B.2和4 C.4和2 D.5和1
5657.用不带头结点的单链表存储队列,其头指针指向队头结点,尾指针指向队尾结点,则在进行出队操作时 C 。C.队头、队尾指针都可能要修改
64.若声明一个浮点数数组如下: froat average[]=new float[30];假设该数组的内存起始位置为200, average[15]的内存地址是
A.214 B.215 C.260 D.256
6.设二维数组A[1… m,1… n]按行存储在数组B中,则二维数组元素A[i,j]在一维数组B中的下标为。
A.n*(i-1)+j B. n*(i-1)+j-1 C.i*(j-1) D.j*m+i-1
66.有一个100×90的稀疏矩阵,非0元素有10,设每个整型数占2个字节,则用三元组表示该矩阵时,所需的字节数是 B 。
A.20 B. 66 C.18 000 D.33
67.数组A[0 … 4,-1 … -3,5 …7]中含有的元素个数是。
A.55 B. 45 C.36 D.16
69.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a1,1为第一个元素,其存储地址为1,每个元素占1个地址空间,则a8,5的地址为 B 。
A.13 B. 33 C.18 D.40
70.稀疏矩阵一般的压缩存储方式有两种,即。
A.二维数组和三维数组 B. 三元组和散列
C.三元组和十字链表 D. 散列和十字链表
71.树最适合用来表示。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据