数据结构 习题集

发布 2019-07-19 18:25:15 阅读 5074

基础篇。习题1

一、选择题。

1 计算机算法必须具备输入、输出、( b)等5个特性。

a 可行性、可移植性和可扩展性b 可行性、确定性和有穷性。

c 确定性、有穷性和稳定性d 易读性、安全性和稳定性。

2 在数据结构中,从逻辑上可以把数据结构分为(d)

a 动态结构和静态结构b 紧凑结构和非紧凑结构。

c 内容结构和外部结构d 线性结构和非线性结构。

3 下面程序段的时间复杂性的量级为( d)

for (i=1;i<=n;i++)

for(j=1;j<=i;j++)

for(k=1;k<=j;k++)

x=x+1;

a o(1) b o(n) c o(n2) d o(n3)

4 在数据结构中,与所使用的计算机无关的是数据的(a )结构。

a 逻辑 b 存储 c 逻辑和存储 d 物理。

5 数据结构在计算机中的表示是指(c )

a 数据的逻辑结构 b 数据结构 c 数据的存储结构 d 数据元素之间的关系。

6 下面(b )的时间复杂性最好,即执行时间最短。

a o(n) b o(logn) c o(nlogn) d o(n2)

7 下面程序段的时间复杂性的量级为(d )。

int fun(int n)r=r=

2) b=(k,r),其中。k=r=

r=3) b=(k,r),其中。k=r=

r=三、计算题。

设n为整数,求下列各程序段的时间复杂度。

1)i=1;k=2;

while(i k=k+10*i;

i=i+1;

2)i=1;j=0;

while(i+j<=n)

if(i>j)j=j+1;

else i=i+1;

3)x=91;y=100

while(y>0)

if(x>100)else x=x+1;

习题2一、选择题。

1 线性表是(a )

a 一个有限序列,可以为空b 一个有限序列,不能为空。

c 一个无限序列,可以为空d 一个无限序列,不能为空。

2 在一个长度为n的顺序表中,向第ii个元素(1≤i≤n+1)位置插入一个新元素时,需要从后向前依次后移(b )个元素。

a n-ib n-i+1c n-i-1 d i

3 在一个顺序表的表尾插入一个元素的时间复度的量级为( b)。

a o(n) b o(1) c o(n2) d o(log n)

4 表长为n的顺序存储的线性表,当在任意位置上插入或删除一个元素的概率相等时,插入一个元素所需移动元素的平均个数为(d ),删除一个元素需要移动元素的平均个数为(a )

a (n-1)/2b nc (n+1)/2 d n/2

5 设单链表中指针p指向结点a,若要删除p之后的结点(若存在),则需修改指针的操作为( a)。

a p->next=p->next->nextb p=p->next

c p=p->next->nextd next=p

6 单链表的存储密度为(c )。

a 大于1b 等于5c 小于1d 不能确定。

7 在一个单链表中,若要在p所指向的结点之后插入一个新结点,则需要相继修改( b)个指针域的值。

a 1 b 2c 3d 4

8 在一个单链表中,若要在p所指向的结点之前插入一个新结点,则此算法的时间复杂度的量级为( a)。

a o(n) b o(n/2) c o(1) d o(n1/2)

9 在一个带头结点的双向循环链表中,若要在p所指向的结点之前插入一个新结点,则需要相继修改(c )个指针域的值。

a 2b 3c 4d 6

二、简答题。

1 什么叫线性表?它有哪些特点?

2 在链表的设计中,为什么通常采用带头结点的链表结构?

3 对比顺序表与单链表,说明顺序表与单链表的主要优点和主要缺点。

4 试编写算法实现顺序表的逆置,即把顺序表a中的数据元素(a1,a2, …an)逆置为(an,an-1, …a1)。

5 已知a和b为两个非递减的线性表,现要求实现如下操作:从a中删除在b**现的元素。试编写在顺序表中实现上述操作的算法。

6 试编写算法实现链表的就地逆置(不增加存储空间),即把链表a中的数据元素(a1,a2, …an)逆置为(an,an-1, …a1)。

7 假设有两个非递减的线性表a 和b,均采用链式存储结构,试编写算法将a和b 归并成一个按元素非递减的线性表c。

8 试编写算法求单循环链表的表长。

习题3一、选择题

1在栈顶一端可进行的全部操作是( c)。

a 插入b 删除c插入和删除 d进栈。

2 栈的特点是(b )。

a 先进先出b 后进先出c后进后出d不进不出。

3 顺序栈是空栈的条件是( a)。

a top==0 b top==1 c top==-1 d top==m

4 假定利用数组a[n]顺序存储一个栈,top表示栈顶指针,已知栈未满,则x入栈时所执行的操作是( d)。

a a[--top]=x; b a[top--]x c a[++top]=x d a[top++]x

5 一个栈的入栈序列是a,b,c,d,e,则不可能的出栈序列是( b)。

a edcdab dceab c decba d abcde

6 经过下列栈的运算后emptystack(s)的值是(c )。

initstack(s);push(s,a);push(s,b);pop(s,x);pop(s,x) ;

a ab bc 1d 0

7 若已知一个栈的入栈序列是1,2,3, …n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为( c)。

a i b n-i c n-i+1 d 不确定。

8 队列的特点是(a)。

a 先进先出 b 后进先出c先进后出 d 不进不出。

9 循环队列s为满的条件是(b)。

a s->rear==s->front

b s->rear+1)%maxsiae==s->front

c s->rear==0

d s->front==0

10 经过下列运算后gethead(q)的值是(b)。

initqueue(q); enqueue(q,a); enqueue(q,b); dequeue(q,x);

a ab bc 1d 2

二、简答题。

1 简述栈与队列的相同点与不同点。

2 在顺序队列中,什么叫真溢出?什么叫假溢出?为什么顺序队列常都采用循环队列结构?

3 设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点(不设头指针),试编写相应的入队列、出队列算法。

4 设计一个输出如下形式数值的递归算法。

5 编写一个算法,利用栈的基本运算返回指定栈中的栈底元素。

数据结构习题2线性表

1.一个向量 即一批地址连续的存储单元 第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是 a.110 b.108 c.100 d.120 2.线性表的顺序存储结构是一种 的存储结构,而链式存储结构是一种 的存储结构。a 随机存取 b 索引存取 c 顺序存取 d 散列存取。3.线...

《结构力学习题集》9 结构动力计算

第九章结构的动力计算。一 是非题。1 结构计算中,大小 方向随时间变化的荷载必须按动荷载考虑。2 忽略直杆的轴向变形,图示结构的动力自由度为4个。3 仅在恢复力作用下的振动称为自由振动。4 单自由度体系其它参数不变,只有刚度ei增大到原来的2倍,则周期比原来的周期减小1 2。5 图 a 体系的自振频...

《数据结构练习题》栈和队列

栈和队列。1 简述栈和线性表的区别。2 简述栈和队列这两种数据结构的相同点和不同点。3 如果进栈的元素序列为a,b,c,d,则可能得到的出栈序列有多少种?写出全部的可能序列。4 如果进栈的元素序列为1,2,3,4,5,6,能否得到4,3,5,6,1,2和1,3,5,4,2,6的出栈序列?并说明为什么...

《结构力学习题集》 上 静定结构内力计算

第二章静定结构内力计算。一 判断题 1 静定结构的全部内力及反力,只根据平衡条件求得,且解答是唯一的。2 静定结构受外界因素影响均产生内力,内力大小与杆件截面尺寸无关。3 静定结构的几何特征是几何不变且无多余约束。4 图 a 所示结构。ab 5 图 b 所示结构支座a转动角,0,0。6 荷载作用在静...

数据结构实验数组

crosslist ma int z 主函数 void main creatmatrix ma out m ma main 十字链表的输出 void out m crosslist m printf printf 打回车键,返回。ch getchar void creatmatrix crossli...

数据结构,二维指针和数组 还有数据结构

自己建立头文件格式 include 指针 指针变量 是用来存放变量的存储地址的。p null int a 3 例如 p a 结论 p a p 3 指针变量定义的格式 类型名 指针名。最好采用int p 取值符号 后面加 地址 表示取这个地址里的值。地址符号 后面加 变量 表示取这个变量的地址。voi...

数据结构实验六图

1 掌握图的邻接矩阵和邻接表表示。2 掌握图的深度优先和广度优先搜索方法 3 理解图的应用方法。1 阅读并运行下面程序,根据输入写出运行结果。include define n 20 define true 1 define false 0 int visited n typedef struct 队...

数据结构 C语言版 第2章习题答案

第2章自测卷答案。一 填空。1.严题集2.2 在顺序表中插入或删除一个元素,需要平均移动表中一半元素,具体移动的元素个数与表长和该元素在表中的位置有关。2.线性表中结点的集合是有限的,结点间的关系是一对一的。3.向一个长度为n的向量的第i个元素 1 i n 1 之前插入一个元素时,需向后移动 n i...