数据结构1-5章习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题
1、在一个长度为n的顺序表的表尾插入一个新元素的时间复杂度为()
A.O (n) B.O (1)
C.O (n2 ) D.O (log2 n)
2、以下关于顺序存储结构的叙述中,哪一条是不正确的?()
A.存储密度大
B.逻辑上相邻的节点物理上不必邻接
C.可以通过计算机直接确定低I个节点的位置
D.插入和删除操作不方便
3、向一个有127个元素原顺序表中插入一个新元素并保存原来顺序不变,平均要移动()个元素。
A、8
B、63.5
C、63
D、7
4、线性表是一个具有n个()的有限序列。
A.表元素B.字符
C.数据元素D.数据项
5、与数据元素本身的形式、内容、相对位置、个数无关的是数据的()
A 存储结构
B 逻辑结构
C 算法
D 操作
6、线性链表不具有的特点是()。
A.随机访问
B.不必事先估计所需存储空间大小
C.插入与删除时不必移动元素
D.所需空间与线性表长度成正比
7、将长度为n的单链表连接在长度为m的单链表后的算法的时间复杂度为()
A. O(n)
B. O(1)
C. O(m)
D. O(m+n)
8、链接存储的存储结构所占存储空间:
(A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针(B)只有一部分,存放结点值
(C)只有一部分,存储表示结点间关系的指针
(D)分两部分,一部分存放结点值,另一部分存放结点所占单元数
9、线性表若采用链式存储结构时,要求内存中可用存储单元的地址:
(A)必须是连续的(B)部分地址必须是连续的
(C)一定是不连续的(D)连续或不连续都可以
10、线性表L在情况下适用于使用链式结构实现。
(A)需经常修改L中的结点值
(B)需不断对L进行删除插入
(C)L中含有大量的结点
(D)L中结点结构复杂
11、设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。
A. 单链表
B.单循环链表
C. 带尾指针的单循环链表
D.带头结点的双循环链表
12、若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用()存储方式最节省运算时间。
A.单链表B.双链表
C.单循环链表D.带头结点的双循环链表
13、在作进栈运算时,应先判别栈是否( ①),在作退栈运算时应先判别栈是否( ②)。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为( ③)。
①, ②: A. 空B. 满C. 上溢D. 下溢
③: A. n-1 B. n C. n+1 D. n/2
14、为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的( ④)分别设在这片内存空间的两端,这样,当( ⑤)时,才产生上溢。
④: A. 长度 B. 深度 C. 栈顶 D. 栈底
⑤: A. 两个栈的栈顶同时到达栈空间的中心点.
B. 其中一个栈的栈顶到达栈空间的中心点.
C. 两个栈的栈顶在栈空间的某一位置相遇.
D. 两个栈均不空,且一个栈的栈顶到达另一个栈的栈底
15、设数组data[m]作为循环队列的存储空间,front为队头指针,rear为队尾指针,则执行入队操作后其头指针rear的值为()。
A.rear=rear+1
B.rear=(rear+1)%(m-1)
C.rear=(rear-1)%m
D.rear=(rear+1)%m
16、栈中元素的进出原则是()。
A.先进先出B.后进先出
C.栈空则进D.栈满则出
17、若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则p i为
A.i B.n=i C.n-i+1 D.不确定
18、判定一个栈ST(最多元素为m0)为空的条件是
A.ST->top<>0 B.ST->top=0 C.ST->top<>m0 D.ST->top=m0
19、判定一个队列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
20、数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式为(A)r-f; (B)(n+f-r)% n;
(C)n+r-f; (D)(n+r-f)% n
21、如下陈述正确的是()
A. 串是一种特殊的线性表
B. 串的长度必须大于零
C. 串中的元素只能为字母
D. 空串即为空格字符串
22、广义表((a,b,c,d))的表头是(),表尾是()。
A. a
B.()
C.(a,b,c,d)
D.(b,c,d)
23、已知广义表LS=((a,b,c),(d,e,f)), 运用head和tail函数取出LS中原子e 的运算是( )。
A. head(tail(LS))
B. tail(head(LS))
C. head(tail(head(tail(LS)))
D. head(tail(tail(head(LS))))
二、判断题
1、线性表的顺序存储结构是一种随机存储结构。()(2004年专升本)
2、算法的运行时间涉及加、减、乘、除、转移、存、取、等基本运算。要想准确地计算总运算时间是不可行的。()
3、为度量一个搜索算法的性能,需要在时间和空间方面进行权衡。()
4、顺序表用一维数组作为存储结构,因此顺序表是一维数组。()
5、数据的基本单位是数据项。()
6、数组元素之间的关系,既不是线性的,也不是树形的。()
7、线性表采用顺序存储表示时,必须占用一片连续的存储单元。()
8、链表的每个结点中都恰好包含一个指针。
9、链表的物理存储结构具有同链表一样的顺序。
10、链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动将后续各个单元向前移动。
三、填空题
1、算法的五个特征。
2、道路交通问题属于()数据结构。
3、有哪几种逻辑结构()()()()。
4、数据的逻辑结构是从逻辑关系上描述数据,它与数据的()无关,是独立于计算机的。
四、算法设计题
1、在非递减有序的顺序表中插入元素e,使其仍保持有序。
Status Orderlistinsert(SqList &L , ElemType e)
{//在非递减有序的顺序表中插入元素e,使其仍保持有序
if (L.length = = MAXSIZE)