数据结构(专科)作业1
川农《数据结构(专科)》18年9月在线作业
------------------------------------------------------------------------------------------------------------------------------ (单选题) 1: 设有一个含有n 个(n>2)关键字的有序表,分别用顺序查找法和二分查找法查找一个给定的关键字,比较次数分别为s和h,在查找成功的情况下,s和h的关系是( ) A: s = hB: s > hC: s < hD: 不能确定正确答案:(单选题) 2: 依次在初始为空的队列中插入元素X,Y,Z,W以后,紧接着作了两次删除操作,此时的队头元素是( )A: XB: YC: ZD: W正确答案:(单选题) 3: 向顺序栈中压入新元素时,应当( )A: 先移动栈顶位置,再存入元素B: 先存入元素,再移动栈顶位置C: 先后次序无关紧要D: 同时进行正确答案:(单选题) 4: 右图中的拓扑序列为( )A: C1,C2,C6,C7,C5,C4,C3B: C1,C2,C6,C3,C4,C5,C7C: C1,C4,C2,C3,C5,C6,C7D: C5,C7,C4,C1,C2,C6,C3正确答案:(单选题) 5: 设有100个数据元素,采用折半搜索时,最大比较次数为( )A: 6B: 7C: 8D: 10正确答案:(单选题) 6: 设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为()A: front=front+1B: front=(front+1)%(m-1)C: front=(front-1)%mD: front=(front+1)%m正确答案:(单选题) 7: 设有一个10阶的对称矩阵A[10][10],采用压缩存储方式按行将矩阵中下三角部分的元素存入一维数组B[ ]A[0][0]存入B[0]中,则A[8][5]在B[ ]中( )A: 32B: 33------------------------------------------------------------------------------------------------------------------------------ C: 41D: 65正确答案:(单选题) 8: 链式栈与顺序栈相比,一个比较明显的优点是( )A: 插入操作更加方便B: 通常不会出现栈满的情况C: 不会出现栈空的情况D: 删除操作更加方便正确答案:(单选题) 9: 深度为8的二叉树至多有()个结点A: 7B: 15C: 127D: 255正确答案:(单选题) 10: 向二叉搜索树中插入一个元素时,其时间复杂度大致为( )A: O(㏒2n)B: O(n)C: O(1)D: O(㏒2n)正确答案:(单选题) 11: 假设一个有n个顶点和e条弧的有向图用邻接表表示,则删除与某个顶点vi 相关的所有弧的时间复杂度是( )A: O(n)B: O(e)C: O(n+e)D: O(n×e)正确答案:(单选题) 12: 下列存储形式中不是树的存储形式( )A: 双亲表示法B: 孩子兄弟表示法C: 顺序表示法D: 广义表表示法正确答案:(单选题) 13: 设某算法的问题规模函数f(n)=300n2+8000n+900,则它的渐进时间复杂度为( )A: O(n3)B: O(n2)C: O(n)D: O(1)正确答案:(单选题) 14: 一个关键字序列为{46,79,56,38,40,84},采用快速排序以位于最左位置的元素为基准而得到的第一次划分结果为( )------------------------------------------------------------------------------------------------------------------------------ A: {38,46,79,56,40,84}B: {38,79,56,46,40,84}C: {40,38,46,56,79,84}D: {38,46,56,79,40,84}正确答案:(单选题) 15: 假定一个顺序队列的队首和队尾指针分别为f和r,则判断队空的条件为( ) A: f+1==rB: r+1==fC: f==0D: f==r正确答案:(单选题) 16: 对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。
电子科技《数据结构》在线作业1辅导答案
电子科技《数据结构》在线作业1
单选题多选题判断题
一、单选题(共 16 道试题,共 48 分。
)
1. 在计算机内实现递归算法时所需的辅助数据结构是()。
A. 栈
B. 队列
C. 树
D. 图
-----------------选择:A
2. 对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为()。
A. 顺序表
B. 用头指针表示的单循环链表
C. 用尾指针表示的单循环链表
D. 单链表
-----------------选择:C
3. 判断两个串大小的基本准则是()。
A. 两个串长度的大小
B. 两个串中首字符的大小
C. 两个串中大写字母的多少
D. 对应的第一个不等字符的大小
-----------------选择:B
4. 在目标串T[0..n-1]=″xwxxyxy″中,对模式串P[0..m-1]=″xy″进行子串定位操作的结果是()。
A. 0
B. 2
C. 3
D. 5
-----------------选择:C
5. 栈和队列都是()。
A. 限制存取位置的线性结构
B. 顺序存储的线性结构
C. 链式存储的线性结构
D. 限制存取位置的非线性结构
-----------------选择:D
6. 设有两个串T和P,求P在T中首次出现的位置的串运算称作()。
A. 联接
B. 求子串
C. 字符定位
D. 子串定位
-----------------选择:D
7. 算法分析的目的是()。
北语20春《数据结构》作业1
3.有一个长度为 12 的有序表 R,按二分查找
ቤተ መጻሕፍቲ ባይዱ1/7
Word 文档下载后可自行编辑
法对该表进行查找,在表内各元素等概率情 况下查找成功所需的平均比较次数为____。 A.43/12 B.39/12 C.37/12 D.35/12
4.设哈夫曼树中的叶子结点总数为 m,若用 二叉链表作为存储结构,则该哈夫曼树中总 共有___个空指针域。 A.4m B.2m-1 C.2m+1 D.2m
14.对线性表进行折半查找时,要求线性表必 须___。 A.以顺序方式存储,且结点按关键字有序排 序 B.以顺序方式存储 C.以链式方式存储,且结点按关键字有序排 序 D.以链式方式存储
15.{图} A.非顺序文件 B.索引顺序文件
5/7
Word 文档下载后可自行编辑
C.索引非顺序文件 D.哈希文件
11.对于顺序存储的线性表,访问结点和增加、 删除结点的时间复杂度为___。 A.O(n)O(n) B.O(n)O(1) C.O(1)O(n) D.O(1)O(1)
12.组成数据的基本单位是___。 A.数据项 B.数据类型
4/7
Word 文档下载后可自行编辑
C.数据变量 D.数据元素
13.设结点 A 有 3 个兄弟结点且结点 B 为结点 A 的双亲结点,则结点 B 的度数为___。 A.5 B.4 C.3 D.1
5.若有 18 个元素的有序表存放在一堆数组 A 中,第一个元素放 A 中,现进行二分查找, 则查找 A 的比较序列的下标依次为___。 A.9,5,3 B.9,5,2,3 C.9,4,2,3 D.1,2,3
2/7
Word 文档下载后可自行编辑
19春北交《数据结构(专)》在线作业一答案
(单选题)1: 对下面四个序列用快速排序的方法进行排序,以序列的第一个元素为基础进行划分。
在第一趟划分过程中,元素移动次数最多的序列是()。
A: 82,75,70,16,10,90,68,23B: 23,10,16,70,82,75,68,90C: 70,75,68,23,10,16,90,82D: 70,75,82,90,23,16,10,68正确答案:(单选题)2: 算法分析的两个主要方面是()。
A: 空间复杂度和时间复杂度B: 正确性和简明性C: 可读性和文档性D: 数据复杂性和程序复杂性正确答案:(单选题)3: 若给定的关键字集合为{20,15,14,18,21,36,40,10},一趟快速排序结束时,键值的排列为( )。
A: 10,15,14,18,20,36,40,21B: 10,15,14,18,20,40,36,21C: 10,15,14,20,18,40,36,21D: 15,10,14,18,20,36,40,21正确答案:(单选题)4: 设有50行60列的二维数组A[50][60],其元素长度为4字节,按行优先顺序存储,基地址为200,则元素A[18][25]的存储地址为()。
A: 3700B: 4376C: 3900D: 4620正确答案:(单选题)5: 若让元素1,2,3依次进栈,则出栈次序不可能出现()种情况。
A: 3,2,1B: 2,1,3C: 3,1,2D: 1,3,2正确答案:(单选题)6: 下列那种排序需要的附加存储开销最大()。
A: 快速排序B: 堆排序C: 归并排序D: 插入排序正确答案:(单选题)7: 设有向图有n个顶点和e条边,采用领接表作为其存储表示,在进行拓扑排序时,总的计算时间为()。
A: O(nlog2e)B: O(n+e)C: O(n*e)D: O(n*n)正确答案:(单选题)8: 设无向图的顶点个数为n,则该图最多有()条边。
A: n-1B: n(n-1)/2C: n(n+1)/2D: 0(单选题)9: 队列的删除操作是在()进行。
200721数据结构 作业(高起专、高起本)
比较(
)个元素结点。
A、
B、n
C、
D、
20、设单链表中指针 p 指向结点 m,若要删除 m 之后的结点(若存在),则需修改指针的操作
为(
)。
A、
B、
C、
D、
21、在(
)运算中,使用顺序表比链表好。
A、插入
B、删除
C、根据序号查找
D、根据元素值查找
22、在一个具有 n 个结点的有序单链表中插入一个新结点并保持该表有序的时间复杂度
第 2 页 共 20 页 在您完成作业过程中,如有疑难,请登录学院网站“辅导答疑”栏目,与老师进行交流讨论!
C、一个无限序列,可以为空
D、一个无限序列,不可以为空
18、在一个长度为 n 的顺序表中删除第 i 个元素
时,需向前移动(
)个元素。
A、
B、
C、
D、i
19、从一个具有 n 个结点的单链表中查找其值等于 x 的结点时,在查找成功的情况下,需平均
( )个。
第 6 页 共 20 页 在您完成作业过程中,如有疑难,请登录学院网站“辅导答疑”栏目,与老师进行交流讨论!
A、15
B、16
C、17
D、47
48、设 n , m 为一棵二叉树上的两个结点,在中序遍历序列中 n 在 m 前的条件是( )。
A、n 在 m 右方
B、n 在 m 左方
C、n 是 m 的祖先
D、求串长
6、二维数组 M 的成员是 6 个字符(每个字符占一个存储单元)组成的串,行下标 i 的
范围从 0 到 8,列下标 j 的范围从 1 到 10,则存放 M 至少需要(
)个字节。
A、90
B、180
数据结构作业及答案汇总
数据结构作业及答案汇总数据结构是计算机科学中的一个重要概念,它涉及到组织和管理数据的方式和方法。
在学习数据结构的过程中,作业和答案总结是帮助我们巩固知识和理解的重要步骤。
本文将对数据结构作业及答案进行汇总,以便帮助读者更好地学习和掌握数据结构知识。
作业一:栈和队列1. 描述栈和队列的基本特点,并给出它们的应用场景。
栈是一种容器,它具有后进先出(LIFO)的特点。
常见的应用场景有程序调用栈、浏览器的前进后退功能等。
队列是一种容器,它具有先进先出(FIFO)的特点。
常见的应用场景有任务调度、消息队列等。
2. 设计一个栈,使其具有查找最小元素的功能。
给出实现代码和分析时间复杂度。
3. 设计一个队列,使其具有查找最大元素的功能。
给出实现代码和分析时间复杂度。
作业二:链表1. 描述链表的基本特点,并给出它的应用场景。
链表是一种数据结构,它由一系列节点组成。
每个节点包含数据和指向下一节点的指针。
常见的应用场景有实现链表、存储大量数据等。
2. 设计一个单向链表,使其具有反转链表的功能。
给出实现代码和分析时间复杂度。
3. 设计一个双向链表,使其具有插入和删除节点的功能。
给出实现代码和分析时间复杂度。
作业三:树1. 描述树的基本特点,并给出它的应用场景。
树是一种非线性数据结构,它由节点和边组成。
常见的应用场景有文件系统、数据库索引等。
2. 设计一个二叉树,实现遍历功能(前序、中序、后序)。
给出实现代码和分析时间复杂度。
3. 设计一个平衡二叉树,使其具有快速查找节点的功能。
给出实现代码和分析时间复杂度。
作业四:图1. 描述图的基本特点,并给出它的应用场景。
图是一种由顶点和边组成的数据结构,边表示顶点之间的关系。
常见的应用场景有社交网络、地图导航等。
2. 设计一个有向图,实现深度优先搜索(DFS)算法。
给出实现代码和分析时间复杂度。
3. 设计一个无向图,实现广度优先搜索(BFS)算法。
给出实现代码和分析时间复杂度。
答案汇总:在本文中,我们对栈、队列、链表、树和图这几个常见的数据结构进行了作业设计和答案汇总。
北语直属14秋《数据结构》作业1满分答案
作业名称:14秋《数据结构》作业1 出卷人:SA
作业总分:100 通过分数:60
起止时间:2015-1-21 10:20:21 至2015-1-22 9:11:26
学员姓名:学员成绩:100
标准题总分:100 标准题得分:100
详细信息:
题号:1 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:4.17 内容:
将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为___。
A、O(1)
B、O(n)
C、O(m)
D、O(m+n)
标准答案:C
学员答案:C
本题得分:4.17
题号:2 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:4.17 内容:
栈和队列的共同特点是___。
A、只允许在端点处插入和删除元素
B、都是先进后出
C、都是先进先出
D、没有共同点
标准答案:A
学员答案:A
本题得分:4.17
题号:3 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:4.17 内容:
图形:
A、(A)
B、(B)
C、(C)
D、(D)
标准答案:A
学员答案:A
本题得分:4.17。
数据结构(大专)第一章习题解答
数据结构(大专)第一章习题解答第一章绪论1.2 设计二次多项式ax2+bx+c的一种抽象数据类型,假定起名为QUAdratic,该类型的数据部分为三个系数项a、b和c,操作部分为:1.初始化数据成员a、b和c(假定用记录类型Quadratic定义数据成员),每个数据成员的默认值为0。
Qiadratic InitQuadratic(float aa=0, float bb=0, float cc=0);解:Quadratic InitQuadratic(float aa, float bb, float cc){Quadratic q;q·a=aa;q·b=bb;q·c=cc;return q;}2.做两个多项式加法,即使对应的系数相加,并返回相加结果。
解:Quadratic Add(Quadratic q1,Quadratic q2);{Quadratic q;q·a=q1·a+q2·a;q·b=q1·b+q2·b;q·c=q1·c+q2·c;retirn q;}3.据给定x的值计算多项式的值。
float Eval(Quadratic q,float x);解:float Eval(Quadratic q, float x){return(q·a*x*x+q·b*x+q·c);}4.计算方程ax2+bx+c=0的两个实数根,对于有实根、无实根和不是二次方程(即a= =0)这三种情况都要返回不同的整数值,以便调用函数做不同的处理。
int Root(Quadratic q, float& r1, float& r2);解:int Root (Quadratic q, float& r1, float& r2){if(q·a= =0) return –1;float x =q·b*q·b –4*q·a*q·c;if(x﹥=0){r1=(float) (-q·b+sqrt(x))/ (2*q·a);r2=(float) (-q·b-sqrt(x))/ (2*q·a);return 1;}elsereturn 0;}5.按照ax **2+bx+c的格式(x2用x **2表示)输出二次多项式,在输出时在注意去掉系数为0的项,并且当b和c的值为负时,其前不能出现加号。
《数据结构》在线作业一
D.线性表采用顺序存储便于插入和删除操作的实现
40.数据结构DS(Data Struct)可以被形式地定义为DS=(D,R),其中D是()有限集合,R是D上的关系有限集合。
A.算法
B.数据元素
C.数据操作
D.数据对象
A.O(n)
B.O(n2)
C.O(n3)
D.O(n4 )
6.在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行()。
A.s->next=p;p->next=s;
B.s->next=p->next;p->next=s;
C.s->next=p->next;p=s;
B.top= =0
C.top!=m0
D.top= =m0-1
11.在二叉排序树中插入一个结点的时间复杂度为( )。
A.O(1)
B.O(n)
C.O(log2n)
D.O(n2 )
12.设串s1='ABCDEFG',s2='PQRST',函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串s的从序号i的字符开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1,2,len(s2)),subs(s1,len(s2),2))的结果串是()。
A.5
B.6
C.7
D.8
24.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为( )。
数据结构作业题及参考答案
东北农业大学网络教育学院数据结构作业题(一)一、选择题(每题2分,共20分)1.在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为()。
A、O(n)B、O (n/2)C、O (1)D、O (n2)2.带头结点的单链表first为空的判定条件是()。
A、first == NULL;B、first->link == NULL;C、first->link == first;D、first != NULL;3.在一棵树中,()没有前驱结点。
A、分支结点B、叶结点C、树根结点D、空结点4.在有向图中每个顶点的度等于该顶点的()。
A、入度B、出度C、入度与出度之和D、入度与出度之差5.对于长度为9的有序顺序表,若采用折半搜索,在等概率情况下搜索成功的平均搜索长度为()的值除以9。
A、20B、18C、25D、226.下列程序段的时间复杂度为()。
s=0;for(i=1;i<n;i++)for(j=1;j<n;j++)s+=i*j;A、O (1)B、O (n)C、O (2n)D、O (n2)7.栈是一种操作受限的线性结构,其操作的主要特征是()。
A、先进先出B、后进先出C、进优于出D、出优于进8.假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front和rear。
若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为()。
A、(rear-front-1)%nB、(rear-front)%nC、(front-rear+1)%nD、(rear-front+n)%n9.高度为5的完全二叉树中含有的结点数至少为()。
A、16B、17C、31D、3210.如图所示有向图的一个拓扑序列是( )A、ABCDEFB、FCBEADC、FEDCBAD、DAEBCF二、填空题(每空1分,共20分)1.n (n﹥0) 个顶点的无向图最多有条边,最少有条边。
数据结构考试题库专科
数据结构考试题库专科# 数据结构考试题库专科一、选择题1. 在数据结构中,线性表是:- A. 有序的- B. 无序的- C. 可以是有序的也可以是无序的- D. 以上都不是2. 栈(Stack)是一种特殊的线性表,其特点是:- A. 只能在表头进行插入和删除操作- B. 只能在表尾进行插入和删除操作- C. 同时在表头和表尾进行插入和删除操作- D. 只能在表中任意位置进行插入和删除操作3. 队列(Queue)的特点是:- A. 只能在表头进行插入操作,在表尾进行删除操作 - B. 只能在表尾进行插入操作,在表头进行删除操作 - C. 同时在表头和表尾进行插入和删除操作- D. 只能在表中任意位置进行插入和删除操作4. 链表相比于数组的优点是:- A. 访问速度快- B. 插入和删除操作不需要移动元素- C. 内存占用少- D. 以上都是5. 二叉树的遍历方式不包括:- A. 前序遍历- B. 中序遍历- C. 后序遍历- D. 随机遍历二、填空题1. 在数据结构中,______ 是最基本的数据结构,它由一组数据元素和定义在这些元素上的一组操作组成。
2. 栈的两个基本操作是______ 和 ______。
3. 队列的两个基本操作是______ 和 ______。
4. 链表是由一系列______ 结点组成的。
5. 树的度是指树中一个节点最多拥有的______ 数量。
三、简答题1. 简述线性表的逻辑结构特点。
2. 描述栈的后进先出(LIFO)特性,并举例说明其应用场景。
3. 说明队列的先进先出(FIFO)特性,并举例说明其应用场景。
4. 什么是二叉搜索树?其主要特点是什么?5. 什么是图?图的表示方法有哪些?四、应用题1. 给定一个数组,请编写一个算法,实现对该数组的排序,并说明所使用的排序算法的时间复杂度。
2. 描述如何使用链表实现一个简单的队列,并说明其优缺点。
3. 给定一棵二叉树,请编写一个算法实现其前序遍历,并画出相应的遍历过程。
数据结构作业(1)
第一章绪论一、选择题1.一个算法应该是()。
A.程序B问题求解步骤的描述C 要满足5个基本特性D.A和c2 计算机算法必须具备输入、输出、()等5个特性。
A 可行性、可移植性和可扩展性B 可行性、确定性和有穷性C 确定性、有穷性和稳定性D 易读性、安全性和稳定性3 在数据结构中,从逻辑上可以把数据结构分为()A 动态结构和静态结构B 紧凑结构和非紧凑结构C 内容结构和外部结构D 线性结构和非线性结构4 下面程序段的时间复杂性的量级为()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)5 在数据结构中,与所使用的计算机无关的是数据的()结构A 逻辑B 存储C 逻辑和存储D 物理6 数据结构在计算机中的表示是指()A 数据的逻辑结构B 数据结构C 数据的存储结构D 数据元素之间的关系7 下面()的时间复杂性最好,即执行时间最短。
A O(n)B O(logn)C O(nlogn)D O(n2)8 下面程序段的时间复杂性的量级为()。
int fun(int n){i=1,s=1;while(s<n)s+=++i;return i;}A O(n/2)B O(logn)C O(n)D O(n1/2)9 下面程序段的时间复杂性的量级为()。
for(int i=0;i<m;i++)for(int j=0;j<n;j++)A[i][j]=i*j;A O(m3)B O(n2)C O(m*n)D O(m+n)10 执行下面程序段时,S 语句的执行次数为()。
for(int i=1;i<n-1;i++)for(int j=i+1;j<=n;j++)S;A n(n-1)/2B n2/2C n(n+1)/2D n11、研究数据结构就是研究( )。
A、数据的逻辑结构B、数据的存储结构C、数据的逻辑结构和存储结构D、数据的逻辑结构、存储结构及其数据在运算上的实现12、以下属于逻辑结构的是( )。
数据结构(专科)作业1
数据结构(专科)作业1艺术的大道上荆棘丛生,这也是好事,常人望而却步,只有意志坚强的人例外。
——雨果数据结构(专科)作业1第一章绪论一、单选题1.一个数组元素a[i]与A的表示等价。
A(a+i)Ba+iCa+iD&a+i2.对于两个函数,若函数名相同,但只是C不同则不是重载函数。
A参数类型B参数个数C函数类型3.若需要利用形参直接访问实参,则应把形参变量说明为B参数。
A指针B引用C值4.下面程序段的复杂度为C。
for(inti=0;ifor(intj=0;ja[i][j]=ij;AO(m2)BO(n2)CO(mn)DO(m+n)5.执行下面程序段时,执行S语句的次数为D。
for(inti=1;i<=n;i++)for(intj=1;j<=i;j++)S;An2Bn2/2Cn(n+1)Dn(n+1)/26.下面算法的时间复杂度为B。
intf(unsignedintn){if(n==0||n==1)return1;Elsereturnnf(n-1);}AO(1)BO(n)CO(n2)DO(n!)二、填空题1.数据的逻辑结构被除数分为集合结构、线性结构、树型结构和图形结构四种。
2.数据的存储结构被分为顺序结构、链接结构、索引结构和散列结构四种。
3.在线性结构、树型结构和图形结构中,前驱和后继结点之间分别存在着1对1、1对N和M对N的关系。
4.一种抽象数据类型包括数据和操作两个部分。
5.当一个形参类型的长度较大时,应最好说明为引用,以节省参数值的传输时间和存储参数的空间。
6.当需要用一个形参访问对应的实参时,则该形参应说明为引用。
7.在函数中对引用形参的修改就是对相应实参的修改,对值(或赋值)形参的修改只局限在该函数的内部,不会反映到对应的实参上。
8.当需要进行标准I/O操作时,则应在程序文件中包含iostream.h 头文件,当需要进行文件I/O操作时,则应在程序文件中包含fstream.h头文件。
数据结构形考作业1
一、单项选择题(每小题2分,共40分)题目1把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为( ). 选择一项:A。
逻辑结构B. 给相关变量分配存储单元C. 物理结构D. 算法的具体实现题目2下列说法中,不正确的是( )。
选择一项:A. 数据可有若干个数据元素构成B. 数据项可由若干个数据元素构成C。
数据项是数据中不可分割的最小可标识单位D. 数据元素是数据的基本单位题目3一个存储结点存储一个()。
选择一项:A. 数据类型B。
数据元素C。
数据结构D. 数据项题目4数据结构中,与所使用的计算机无关的是数据的()。
选择一项:A. 物理结构B。
存储结构C. 逻辑结构D。
物理和存储结构题目5下列的叙述中,不属于算法特性的是( )。
选择一项:A。
输入性B。
可行性C. 有穷性D。
可读性题目6算法分析的目的是()。
选择一项:A。
研究算法中的输入和输出的关系B. 分析算法的效率以求改进C. 找出数据结构的合理性D。
分析算法的易懂性和文档性算法指的是()。
选择一项:A. 计算机程序B。
排序方法C。
解决问题的计算方法D. 解决问题的有限运算序列题目8算法的时间复杂度与( )有关。
选择一项:A. 数据结构B。
算法本身C。
计算机的操作系统D。
所使用的计算机题目9设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为( )。
选择一项:A。
n—iB. iC。
n-i—1D。
n—i+1题目10设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为( )。
选择一项:A. n-iB。
n-i+1C。
n—i—1D。
i题目11在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。
选择一项:A。
q-〉next=NULLB. p-〉next=q->nextC. p-〉next=qD。
p=q—>next题目12在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。
数据结构作业1
1n ,21)n(n i n1i ≥+=∑=《数据结构》作业一1-1什么是数据? 它与信息是什么关系?1-2什么是数据结构? 有关数据结构的讨论涉及哪三个方面?1-3数据的逻辑结构分为线性结构和非线性结构两大类。
线性结构包括数组、链表、 栈、队列、优先级队列等; 非线性结构包括树、图等、这两类结构各自的特点是什么? 1-4.什么是抽象数据类型?试用C++的类声明定义“复数”的抽象数据类型。
要求 (1) 在复数内部用浮点数定义它的实部和虚部。
(2) 实现3个构造函数:缺省的构造函数没有参数;第二个构造函数将双精度浮点数赋给复数的实部,虚部置为0;第三个构造函数将两个双精度浮点数分别赋给复数的实部和虚部。
(3) 定义获取和修改复数的实部和虚部,以及+、-、*、/等运算的成员函数。
(4) 定义重载的流函数来输出一个复数。
1-5 用归纳法证明: (1) (2) 1n ,61)1)(2n n(n in1i 2≥++=∑=(3)0n 1, x ,1x 1x x 1n ni i≥≠--=+=∑ 1-6 什么是算法? 算法的5个特性是什么? 试根据这些特性解释算法与程序的区别。
1-7 设n 为正整数, 分析下列各程序段中加下划线的语句的程序步数。
(1) for (int i = 1; i <= n ; i++) (2) x = 0; y = 0; for (int j = 1; j <= n ; j++) {for (int i = 1; i <= n ; i++)c[i][j] = 0.0; for (int j = 1; j <= i ; j++)for (int k = 1; k <= n ; k++) for (int k = 1; k <= j ; k++)c[i][j] = c[i][j] + a[i][k] * b[k][j]; x = x + y ;} (3) int i = 1, j = 1; (4) int i =1; while (i<=n && j<=n) { do {i = i + 1; j = j + i ;for (int j = 1; j <= n ; j++)}i = i + j ;} while ( i < 100 + n );1-8 试编写一个函数计算n!*2n 的值,结果存放于数组A[arraySize]的第n 个数组元素中,0 ≤ n ≤ arraySize 。
最新专科《数据结构》_试卷_答案
专科《数据结构》一、(共75题,共150分)1. 数据的逻辑结构在计算机内部存储表示称为为数据的()。
(2分)A.数据结构B.逻辑关系C.物理结构D.数据元素的内部结构.标准答案:C2. ()是数据的不可分割的最小单位。
(2分)A.数据对象B.数据元素C.数据类型D.数据项.标准答案:D3. 算法的时间复杂度是对算法()的度量。
(2分)A.时间效率B.空间效率C.可读性D.健壮性.标准答案:A4. ()是限制了插入和删除操作在一端进行的线性表。
(2分)A.栈B.队列C.串D.数组.标准答案:A5. 数组通常采用顺序存储的优点是()。
(2分)A.便于增加存储空间B.便于依据下标进行随机存取C.避免数据元素的移动D.防止下标溢出.标准答案:B6. 采用带头结点双向链表存储的线性表,在插入一个元素时,需要修改指针()次。
(2分)A.1B.2C.3D.4.标准答案:D7. 线性表的顺序存储结构是一种()的存储结构。
(2分)A.顺序存取B.随机存取C.索引存取D.Hash存取.标准答案:B8. 数组a[1..256]采用顺序存储,a的首地址为10,每个元素占2字节,则a[21]的地址是()。
(2分)A.10B.30C.50D.70.标准答案:C 9. 深度为4的二叉树,第4层至少有()个结点。
(2分)A.0B.1C.8D.15.标准答案:B10. 若二叉树对应的二叉链表共有11个非空链域,则该二叉树有()个结点的二叉树。
(2分)A.10B.11C.20D.21.标准答案:A11. 下面叙述错误的是()。
(2分)A.借助于队列可以实现对二叉树的层遍历B.栈的特点是先进后出C.对于单链表进行插入操作过程中不会发生上溢现象D.在无向图的邻接矩阵中每行1的个数等于对应的顶点度.标准答案:C12. 以下与数据的存储结构无关的术语是()。
(2分)A.循环队列B.双向链表C.哈希表D.数组.标准答案:D13. 在一个长度为n的链式队列中入队实现算法的时间复杂度为()。
数据结构作业一满分版
数据结构作业一满分版.1.在线性表的下列存储结构中,读取元素花费的时间最少的是A.单链表B. 双向链表C.循环链表D.顺序表说明:顺序表总从链表访问快,因为顺序表元素都是按顺序排列在一起的。
而链表的元素是分散的,要访问它的某一个元素,必须先访问它前面的元素。
2.顺序表是线性表的A.链式存储结构B. 顺序存储结构C. 索引存储结构D.散列存储结构说明:顺序存储指在内存中是一个连续的整块,这是定义,没啥说的。
3. 以下关于线性表的说法不正确的是( )。
A、线性表中的数据元素可以是数字、字符、记录等不同类型。
B、线性表中包含的数据元素个数不是任意的。
C、线性表根据存储结构分可以有顺序表、链表、动态表D、存在这样的线性表:表中各结点都没有直接前趋和直接后继说明:A,我认为可以是任何类型(暂时没想出反例)B,这句话不太好理解,估计原题的意思是为了说明:线性表是能得到确切的元素个数。
C,线性表只包括顺序表和链表。
而动态表,没听说过这种说法。
D,线性表为空,好像就符合题意。
4.在顺序表中,只要知道( ),就可在相同时间内求出任一结点的存储地址。
A) 基地址B) 结点大小C) 向量大小D)基地址和结点大小说明:这里任意结点是指给出这个结点的索引(index),则其地址为:base + index * sizeof(node),这里base为基地址,sizeof(node)为结点大小,假设index从0开始计数(C/C++都是从0开始,如果其它语言从1开始,只要将index-1代替index 就可以了)5.在等概率情况下,顺序表的插入操作要移动( )结点。
A) 全部B) 一半C) 三分之一D)四分之一说明:插入和删除操作,平均约要移动全部元素的1/2,在P25,有推导公式,记住结果就行了。
'..6.在( )运算中,使用顺序表比链表好。
A) 插入B) 删除C) 根据序号查找D) 根据元素值查找说明:插入、删除操作都是链表快。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
return x; } ⑶ 向线性表中第i个元素位置插入一个元素。 解:void Insert1(List& L,int i,ElemType x) //向线性表中第i个元素位置插入一个元素 { if(i<1||i>L.size+1){ cerr<<"Index is out range!"<<end1; exit(1);
数据结构(专科)作业1
第一章 绪论
一、单选题 1.一个数组元素a[i]与 A 的表示等价。
A *(a+i) B a+i C *a+i D &a+i
2.对于两个函数,若函数名相同,但只是 C 不同则不是重载函数。 A 参数类型 B 参数个数 C 函数类型
3.若需要利用形参直接访问实参,则应把形参变量说明为 B 参数。 A 指针 B 引用 C 值
⑵ 从线性表中删除第i个元素并由函数返回。 解:int Deletel(List& L,int i)
//从线性表中删除第i个元素并由函数返回 { if(i<1||i>L.size){
cerr<<"Index is out range!"<<end1; exit(1); } ElemType x; x=L.list[i-1]; for(int j=i-1;j<L.size-1;j++)
{ Quadratic q; q.a=aa; q.b=bb; q.c=cc; return q;
}
⑵ 做两个多项式加法,即使对应的系数相加,并返回相加的结果。 Quadratic Add(Quadratic& q1,Quadratic& q2);
解: Quadratic Add(Quadratic& q1,Quadratic& q2) { Quadratic q; q.a=q1.a+q2.a; q.b=q1.b+q2.b; q.c=q1.c+q2.c; return q; }
int Root(Quadratic& q,float& r1,float& r2) { if(q.a==0) return -1; float x=q.b*q.b-4*q.a*q.c; if(x>=0){
r1=(float)(-q.b+sqrt(x))/(2*q.a); r2=(float)(-q.b-sqrt(x))/(2*q.a); return 1;
解: 计算∑i!的值,时间复杂度为O(n2)
⑷ int fun(int n) { int i=1,s=1; while(s<n) s+=++i; return i; }
解: 求出满足不等式1+2+3...+i≤n的最大i值, 其时间复杂度为O(n1/2)。
⑸ void UseFile(ifstream& inp,int c[10]) //假定inp所对应的文件中保存有n个整数 { for(int i=0;i<10;i++) c[i]=0; int x; while(inp>>x){ i=x%10; c[i]++; } }
⑵ int sum1(int n) { int p=1,s=0; for(int i=1;i<=n;i++){ p*=i; s+=p; } return s; }
解: 计算∑i!(上标为n,下标为i=1)的值,其时间的复杂度为O(n)。
⑶ int sum2(int n) { int s=0; for(int i=1;i<=n;i++){ int p=1; for(int j=1;j<=i;j++) p*=j; s+=p; } return s; }
{ if(ListEmpty(L)){ cerr<<"List is Empty!"<<end1; exit(1);} ElemType x; x=L.list[0]; int k=0; for(int i=1;i<L.size;i++){ ElemType y=L.list[i]; if(y<x){x=y;k=i;} } L.list[k]=L.list[L.size-1]; L.size--; return x; }
9.在包含有 stdlib.h 头文件的程序文件中,使用 rand()%21 能够产生0-20之间的一个 随机数。
10.一个记录r理论上占有的存储空间的大小等于所有域的 长度之和 ,实际上占有的存储 空间的大小即记录长度为 sizeof(r) 。
11.一个数组a所占有的存储空间的大小即数组长度为 sizeof(a) ,下标为i的元数a[i]的 存储地址为 a+i ,或者为 (char*)a+i*sizeof(a[i]) 。
int p=1; for(int j=1;j<=i;j++) P*=j; s=s+p; }
17.一个算法的时间复杂度为(3n2+2nlog2n+4n-7)/(5n),其数量级表示为 O(n) 。
18.从一个数组a[7]中顺序查找元素时,假定查找第一个元素a[0]的概率为1/3,查找第二 个元素a[1]的概率为1/4,查找其余元素的概率均相同,则在查找成功时同元素的平均比 较次数为 35/12 。
6.当需要用一个形参访问对应的实参时,则该形参应说明为 引用 。
7.在函数中对引用形参的修改就是对相应 实参 的修改,对 值(或赋值)形参的修改只局 限在该函数的内部,不会反映到对应的实参上。
8.当需要进行标准I/O操作时,则应在程序文件中包含 iostream.h 头文件,当需要进行 文件I/O操作时,则应在程序文件中包含 fstream.h 头文件。
6.下面算法的时间复杂度为 B 。 int f(unsigned int n){ if(n==0||n==1) return 1; Else return n*f(n-1); } A O(1) B O(n) C O(n2)
D O(n!)
二、填空题 1.数据的逻辑结构被除数分为 集合结构 、 线性结构 、 树型结构 和 图形结构 四种。
} else
return 0; }
⑸ 按照ax**2+bx+c的格式(x2用x**2表示)输出二次多项式,在输出时要注意 去掉系数为0的项,并且当b和c的值为负时,其前不能出现加号。 void Print(Quadratic& q) 解:
void Print(Quadratic& q) { if(q.a) cout<<q.a<<"x**2"; if(q.b)
解: 利用数组c[10]中的每个元素c[i]对应统计出inp所联系的整数文件中个位值同为i的整
数个数,时间复杂度为O(n)
⑹ void mtable(int n) { for(int i=1;i<=n;i++){ for(int j=i;j<=n;j++) cout<<i<<"*"<<j<<"="
<<setw(2)<<i*j<<""; cout<<end1; } } 解: 打印出一个具有n行的乘法表,第i行(1≤i≤n)中有n-i+1个乘法项,每个乘法项为i与 j(i≤j≤n)的乘积,时间复杂度为O(n2)。
⑺ void cmatrix(int a[M][N],int d) //M和N为全局整型常量
{ for(int i=0;i<M;i++) for(int j=0;j<N;j++) a[i][j]*=d; } 解: 使数组a[M][N]中的每一个元素均详细以d的值,时间复杂度为O(M*N)
⑻ void matrimult(int a[M][N],int b[N][L],int c[M][L]) { int i,j,k; for(i=0;i<M;i++) for(j=0;j<L;j++) c[i][j]=0; for(i=0;i<M;i++) for(j=0;j<L;j++) for(k=0;k<N;k++) c[i][j]+=a[i][k]*b[k][j]; }
15.从一维数组a[n]中顺序查找出一个最大值元素的时间复杂度为 O(n) ,输出一个二维 数组b[m][n]中所有元素值的时间复杂度为 O(m*n) 。
16.在下面程序段中,s=s+p语句的执行次数为 n ,p*=j语句的执行次数为n(n+1)/2,该 程序段的时间复杂度为 O(n2) 。
int i=0,s=0; while(++i<=n){
4.下面程序段的复杂度为 C 。 for(int i=0;i<m;i++) for(int j=0;j<n;j++) a[i][j]=i*j; A O(m2) B O(n2) C O(m*n)
D O(m+n)
5.执行下面程序段时,执行S语句的次数为 D 。 for(int i=1;i<=n;i++) for(int j=1; j<=i;j++) S; A n2 B n2/2 C n(n+1) D n(n+1)/2