数据结构期中考试

1.向一个栈顶指针为top的链栈中插入一个S所指结点时,则执行(    )。
A.top->next = S;
B.S->next = top->next; top->next = S;
C.S->next = top; top = S;
D.S->next = top; top = top->next;
2.若对n阶对称矩阵A以行序为主序方式将其下三角的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在B中确定aij(i≤j)的位置k的关系为(    )。
A. i*(i-1)/2+j 
B. j*(j-1)/2+i
C.i*(i+1)/2+j         
D.j*(j+1)/2+i
3.下面关于串的的叙述中,哪一个是不正确的?
A.串是字符的有限序列
B.空串是由空格构成的串
C.模式匹配是串的一种重要运算
D.串既可以采用顺序存储,也可以采用链式存储
4.有6个元素以6,5,4,3,2,1 的顺序进栈,下列(   )不是合法的出栈序列。
A.5 4 3 6 1 2
B.4 5 3 1 2 6
C.3 4 6 5 2 1
D.2 3 4 1 5 6 
5.下面关于串的的叙述中,哪一个是不正确的?
A.串是字符的有限序列
B.空串是由空格构成的串
C.模式匹配是串的一种重要运算
D.串既可以采用顺序存储,也可以采用链式存储
6.判定一个队列QU(最多元素为m0)为满队列的条件是(    )。
A.QU->rear - QU->front == m0
B.QU->rear - QU->front -1 == m0
C.QU->front == QU->rear
D.QU->front == QU->rear+1
7.判定一个顺序栈ST(最多元素为m0)为空的条件是()。
A.ST->top<0
B.ST->top=0
C.ST->top<>m0
D.ST->top=m0
8.线性表若采用链式存储结构时,要求内存中可用存储单元的地址()
A.必须是连续的
B.部分地址必须是连续的
C.一定是不连续的
D.连续或不连续都可以
9.循环队列A[0..m-1]存放其元素值,用整型变量front和rear分别表示队头和队尾指针,则当前队列中的元素个数是(   )。
A.(rear-front+m)%m
B.rear-front+1
C.rear-front-1
D.rear-front
10.带头结点的单链表L为空的判定条件是()。
A.L==NULL
B.L->next==NULL
C.L->next==L
D.L!=NULL
11.线性表L在哪种情况下适用于使用链式结构实现(  )。
A.需经常修改L中的结点值
B.需不断对L进行删除插入
C.L中含有大量的结点
D.L中结点结构复杂
12.广义表A=(a,b,(c,d),(e,(f,g))),则Head(Tail(Head(Tail(Tail(A)))))的值为(    )。
A.(g)
B.(d)
C.c
D.d
13.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的运算称为(    )
A.求子串
B.联接
C.模式匹配
D.求串长
14.算法分析的两个主要方面是(    )。
A.空间复杂性和时间复杂性
B.正确性和简明性
C.可读性和文档性
D.数据复杂性和程序复杂性
15.对稀疏矩阵进行压缩存储目的是(    )。
A.便于进行矩阵运算
B.便于输入和输出
C.节省存储空间
D.降低运算的时间复杂度
16.一个栈的输入序列为1, 2, 3,…,n,若输出序列的第1个元素是n,则第i(1≤i≤n)个输出的元素是(   )。
A.不确定
B.n-i+1
C.i
D.n-i
17.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。
A.110
B.108
C.100
D.120
18.在字符串匹配的BF算法中,当主串位i与模式串位j比较失败时,新一趟匹配开始,主串的位移公式是(  )。
A.i=i+1
B.i=j+1
C.i=i-j+1 
D.i=i-j+2
19.在非空双向循环链表(节点指针域分别为pre 和next)中q所指的结点前插入一个由p所指的链结点的过程依次为()。
A.q->pre=p; p->next=q;
B.t=q->pre; t->next=p; p->next=q;
C.t=q->pre; t->next=p; p->pre=t; p->next=q;
D.t=q->pre; t->next=p; p->next=q; q->pre=p; p->pre=t;
20.稀疏矩阵一般的压缩方法有两种,即(    )。
A.二维数组和三维数组
B.三元组和散列
C.三元组顺序表和十字链表
D.散列和十字链表
21.下面说法不正确的是(    )。
A.广义表的表头总是一个广义表
B.广义表的表尾总是一个广义表
C.广义表难以用顺序存储结构表示
D.广义表可以是一个多层次的结构
22.若对n阶对称矩阵A以行序为主序方式将其下三角的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在B中确定aij(i≤j)的位置k的关系为(    )。
A. i*(i-1)/2+j 
B. j*(j-1)/2+i
C.i*(i+1)/2+j         
D.j*(j+1)/2+i
23.程序段 for (i=n;i>0;i--)
            for (j=1;j<i;j++)
               if (a[j]>a[j+1])
                  Swap(A[j],A[j+1]);    //将A[j]与A[j+1]对换
其中 n为正整数,则在最坏情况下算法的时间复杂度是(   )

A. O(n)
B.O(nlogn)
C. O(n3)
D.O(n2)
24.非线性结构是数据元素之间存在一种()。
A.一对多关系
B.多对多关系
C.多对一关系
D.一对一关系
25.算法分析的目的是(   )。

A.找出数据结构的合理性
B.研究算法中的输入和输出的关系
C.分析算法的效率以求改进
D.分析算法的易懂性和文档性
26.循环队列的引入,目的是   为了克服假溢出时大量移动数据元素  
27.对于双向链表,在两个结点之间插入一个新结点需修改的指针共      个。
28.设广义表L=((),()), 则head(L)是      ()      ;tail(L)是   (())    ;L的长度是     2       。
 
29.当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用      顺序     存储结构。
30.两个串相等的充分必要条件是     串中所含字符的个数相同,且对应位置上的字符也相同              
31.组成串的数据元素只能是    字符      
32.index("datastructure","str",1)=   5   
33.为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的栈底分别设在这片内存空间的两端,这样栈满的条件是:     两个栈的栈顶在栈空间的某一位置相遇     
34.一个算法具有5个特性:     有穷性      ,  确定性      ,     可行性       有零个或多个输入、有一个或多个输出。
 
35.当广义表中的每个元素都是原子时,广义表便成了    线性表     
  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值