数据结构(专科)作业1

合集下载

川农《数据结构(专科)》18年9月在线作业

川农《数据结构(专科)》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辅导答案

电子科技《数据结构》在线作业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

北语20春《数据结构》作业1
2.{图} A.D B.C C.B D.A
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春北交《数据结构(专)》在线作业一答案

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数据结构 作业(高起专、高起本)

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满分答案

作业名称: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的值为负时,其前不能出现加号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
L.list[j]=L.list[j+1]; L.size--;
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
相关文档
最新文档