农大数据结构在线作业_A
最新数据结构作业题参考答案
东北农业大学网络教育学院数据结构作业题参考答案习题一答案一、选择题(每题2分,共20分)二、填空题(每题1分,共20分)1.n(n-1)/2;02. 13.54.2i-15.2i;2i+1;i/26.顺序;链接;索引;散列7.10;4;38.n-19.一对一;一对多;多对多10.10三、运算题(每题5分,共10分)1.根据题意,矩阵A中当元素下标I与J满足I≥J时,任意元素A[I][J]在一维数组B中的存放位置为I * (I + 1) / 2 + J,因此,A[8][5]在数组B中位置为8 * (8 + 1) / 2 + 5 = 41。
四、应用题(每题10分,共50分)1.答:(1)直接插入排序第一趟(3)[8,3],2,5,9,1,6 第二趟(2)[8,3,2],5,9,1,6第三趟(5)[8,5,3,2],9,1,6 第四趟(9)[9,8,5,3,2],1,6第五趟(1)[9,8,5,3,2,1],6 第六趟(6)[9,8,6,5,3,2,1](2)直接选择排序(第六趟后仅剩一个元素,是最小的,直接选择排序结束)第一趟(9)[9],3,2,5,8,1,6 第二趟(8)[9,8],2,5,3,1,6第三趟(6)[9,8,6],5,3,1,2 第四趟(5)[9,8,6,5],3,1,2第五趟(3)[9,8,6,5,3],1,2 第六趟(2)[9,8,6,5,3,2],12.(1)是大堆;(2)是大堆;(4)是小堆;(3)不是堆,调成大堆100,98,66,85,80,60,40,77,82,10,203.答:先序遍历二叉树的顺序是“根—左子树—右子树”,中序遍历“左子树—根—右子树”,后序遍历顺序是:“左子树—右子树―根",根据以上原则,本题解答如下:(1)若先序序列与后序序列相同,则或为空树,或为只有根结点的二叉树(2)若中序序列与后序序列相同,则或为空树,或为任一结点至多只有左子树的二叉树. (3)若先序序列与中序序列相同,则或为空树,或为任一结点至多只有右子树的二叉树. (4)若中序序列与层次遍历序列相同,则或为空树,或为任一结点至多只有右子树的二叉树4.答:(1)T 树的最大深度Kmax=6(除根外,每层均是两个结点)T 树的最小深度Kmin=4(具有6个叶子的完全二叉树是其中的一种形态) (2)非叶子结点数是5。
中国农业大学_821数据结构_《数据结构》习题(5)
三、算法题
1. 编写一个函数,将A[0..n-1]中所有奇数移到偶数之前。要求不另增加存储空间,且
时间复杂度为O(n)。 2. 编写一个函数,设置mn(m=2,n=3)矩阵的元素后,统计这个矩阵中具有下列特 征的元素个数并输出它们的坐标和数值:它们既是所在行中的最小值又是所在列中的最小 值,或者它们既是所在行中的最大值又是所在列中的最大值。 3. 编写一个函数,在nn(n≥3)的稀疏矩阵A中,只有下标满足1<i<n和n-i≤j≤n-i+2 的元素A[i][j]不等于0 ,若这些非 0 元素按行优先的顺序存储在一维数组 B 中,试通过 B 求 A[i][j]之值。也就是说,在存在B的情况下,已知i、j求A[i][j]。 4. 编写一个函数,假设稀疏矩阵A和B(分别为)mn和nk采用三元组表示,试计算 C=A*B,要求C也是采用稀疏矩阵的三元组表示。 5. 编写一个函数,计算一个广义表原子结点个数。例如一个广义表为 (a, (b, c), ((e))), 其原子结点的个数为4。 6. 编写一个函数,计算一个广义表的所有原子结点数据域(数据域为整数型)之和。 例如一个广义表为 ((3, 4), 5, (( 6, 3 ))),其所有结点数据域之和为21。 7. 编写一个函数,将两个广义表合并成一个广义表,合并是指元素的合并。例如两个 广义表 ((a, b), (c)) 与 (a, (e, f)) 合并后的结果是 ((a, b), (c), a, (e, f))。 8. 编写一个函数,删除广义表中所有值为x的元素。例如删除广义表 ((a, b), a, (d, a)) 中所有a的结果空题
1. 已知二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单元,并且第一 个元素的起始地址始LOC(A[0][0]),则A[i][j]的地址是 。
大学1数据结构试题及答案-数据结构A参考答案
20XX年复习资料大学复习资料专业:班级:科目老师:日期:广东商学院试题参考答案及评分标准20XX12-20XX13 学年第一学期课程名称: 数据结构(A 卷) 课程代码:20XXXX0XX20XXXX0XX 课程负责人:罗勇题号1 2 3 4 5 6 7 8 9 20XXXX 答案B A AC BACADC题号1 2 3 4 5 6 7 8 9 20XXXX 答案C B C B DDABAB题号1 2 3 4 5 6 7 8 9 20XXXX答案× √ × √ √ × × × √ ×四、算法分析(每小题5分,共20XXXX 分)1.(1) ABC_1是直接插入排序方法。
(1分) 最坏情形下,)(2/2/)1)(2(i KCN 222n O n n n ni =≈-+==∑= (1分))(2/2/)1)(4()21(RMN 22n2n O n n n i i =≈-+=+-=∑= (1分)(2) 排序过程如下:(2分)初始key r[0] (65) 38 80 50 20XXXX 27i=2 38 (38 65) 80 50 20XXXX 27 i=3 38 (38 65 80) 50 20XXXX 27 i=4 50 (38 50 65 80) 20XXXX 27i=5 20XXXX (20XXXX 38 50 65 80) 27 i=6 27 (20XXXX 27 38 50 65 80) (注:哨兵单元不正确扣1分,已排序列不正确扣1分)2.(1) 算法ABC_2功能:以中序遍历的次序,按关键字值递增的顺序依次输出值小于等于给定值60的结点。
若找到值大于60的结点,提前退出算法。
(3分)(2)20XXXX 20XX 35 45 55(每个值输出后换行)(2分)五、算法设计(共10分)(1)写出单链表存储结构的类型定义。
Typedef struct {int data; (1分)struct LNode *next; (1分)} LNode, *LinkList; (1分)(2)status Delete_L(LinkList &L, int min, int max) { LinkList p,q,s;p=L;while (p&&p->next->data<=min) (2分)p=p->next;if (!p) return ERROR;q=p->next;while (q&&q->data<=max) (3分){ s=q;q=q->next;free(s);} //whilep->next=q; (2分)return OK;}//Delete_L教师(签名):年月日。
网上农大数据结构A-D作业答案—均为满分哟!
数据结构(第2版)-在线作业_A 用户名:W360201121011最终成绩:100.0设有数据逻辑结构为:Data=(D,R);D={d1,d2,d3,d4,d5,d6,d7 }R={<d1,d2>,<d2,d1>,<d1,d4>,<d4,d1>,<d2,d3>,<d3,d2>,<d2,d6>,<d6,d2>,<d2,d7>,<d 7,d2>,<d3,d7><d7,d3><d4,d6><d6,d4>,<d5,d7>,<d7,d5>}试分析该数据结构属于哪种逻辑结构?()n-i-1n-in-i+1i判断下列程序段的时间复杂度数量级()。
for(i=1;i<n;i++)for(j=1;j<=i;j++)for(k=1;k<=j;k++)x=x+1;在一个长度为n的顺序存储线性表中,向第i个元素(1<=i<=n+1)位置插入一个新元素2134本题分值: 5.0 用户得分:5.0 用户解答: 2知识点: 2.3 链接存储结构线性表top-- top++ top=N-1 top=0在一个单链表中,若要在p 所指向的结点之后插入一个新结点,则需要相继修改( )个当利用大小为N 的数组顺序存储一个栈时,假定用top==N 表示栈空,则向这个栈插入一front == 0rear+1 == frontfront+1 == rear front == rear本题分值: 5.0用户得分: 5.0用户解答: front == rear知识点: 3.1 顺序存储结构队列{00,01,10,11} {0,01,00,11}{1,01,000,001} {0,10,110,111}本题分值: 5.0 用户得分: 5.0在规定顺序环形队列一般状态队头指针指向第一个数据元素之前的空位,队尾指针指向末尾元素的前提下,假定一个顺序循环队列的队首和队尾指针分别用front 和rear 表示,下述编码中不是前缀编码的是( )。
农大数据结构答案
农大数据结构答案(1)将两个递增的有序链表合并为一个递增的有序链表。
要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。
表中不允许有重复的数据。
void MergeList_L(LinkList &La,LinkList &Lb,LinkList &Lc){pa=La->next; pb=Lb->next;Lc=pc=La; //用La的头结点作为Lc的头结点while(pa && pb){if(pa->datadata){ pc->next=pa;pc=pa;pa=pa->next;}else if(pa->data>pb->data) {pc->next=pb; pc=pb; pb=pb->next;}else {// 相等时取La的元素,删除Lb的元素pc->next=pa;pc=pa;pa=pa->next;q=pb->next;delete pb ;pb =q;}}pc->next=pa?pa:pb; //插入剩余段delete Lb; //释放Lb的头结点}(2)将两个非递减的有序链表合并为一个非递增的有序链表。
要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。
表中允许有重复的数据。
void union(LinkList& La, LinkList& Lb, LinkList& Lc, ) {pa = La->next; pb = Lb->next; // 初始化Lc=pc=La; //用La的头结点作为Lc的头结点Lc->next = NULL;while ( pa || pb ) {if ( !pa ) { q = pb; pb = pb->next; }else if ( !pb ) { q = pa; pa = pa->next; }else if (pa->data <= pb->data ) { q = pa; pa = pa->next; }else { q = pb; pb = pb->next; }q->next = Lc->next; Lc->next = q; // 插入}delete Lb; //释放Lb的头结点}(3)已知两个链表A和B分别表示两个集合,其元素递增排列。
数据结构考试试题
第 1 页 共 8 页 山西农业大学2014-2015学年第一学期课程考试试卷(A ) 考试科目 数据结构 考试时间 2015.1.9 考试方式 闭卷 成绩 题 号 一 二 三 四 五 核总分 得 分 评卷人 (满分100分,考试时间120分钟) 一、填空题(每空1分,共25分) 1、数据的存储结构主要有 和 两 种基本方法,不论哪种存储结构都要存储两方面的内容:和 。
2、算法分析的目的是: ,算法分析 的两个主要方面是 、 。
3、一个具有n 个结点的单链表,在p 所指结点后插入一个新结点的时间复杂度为 ;在给定值为x 的结点后插入一个新结点的时间复杂度为 。
4、非空的循环单链表由头指针head 指示,则其尾结点(由指针p 所指)满足 。
5、栈和队列的主要区别在于: 。
6、在操作序列push(1)、push(2)、pop 、push(5)、push(7)、pop 、push(6)之后,栈顶元素是 栈底元素是 。
(密封线内不要答题) ………………………………………密………………………………封………………………………线…………………………………………… 专业______________________班级姓名______________学号7、表达式a*(b+c)/d-e的后缀表达式是。
8、在有n个叶子的哈夫曼树中,叶子结点总数为,分支结点总数为。
9、深度为k的二叉树至少有个结点,至多有个结点。
10、在一个有向图中,所有顶点的度数之和等于所有弧数的倍。
11、已知一个无向图的邻接矩阵表示,计算第j个顶点的入度的方法是。
12、在一个有向图中,若存在弧<v i,v j>、<v j,v k>、<v i,v k>,则在其拓扑序列中的,顶点v i,v j,v k的相对次序为。
13、如果要将序列(50,16,23,68,94,70,73)建成堆,只需把16与交换。
14、在索引表中,每个索引项至少包含有和等信息。
中国农业大学_821数据结构_《数据结构》习题(10)
第10章文件及其应用一、问答题1. 对数据库文件进行查询有几种方式?2. 在物理记录和逻辑记录之间可能有几种关系?3. 在哈希文件中,如果要修改的字段中有一些是关键字的一部分,那么为什么这样的修改相当于删除加插入运算?4. 索引文件的检索分哪两步完成?5. 直接存取文件是用什么方式组织的?6. 树索引文件的特点是什么?二、填空题1. 索引顺序文件既能进行存取,又能进行存取,因而是最常用的文件组织方法之一,通常用结构来组织索引。
2. 倒排文件的主要优点是。
3. 对一个大文件进行排序,要研究在外设上的排序技术,即。
4. 哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的方法是哈希文件(Hash)的关键。
5. 倒排文件包含有若干个倒排表,倒排表的内容是,倒排文件检索速度快,但是修改维护较难。
6. 顺序文件采用顺序结构实现文件的存储,对大型文件的少量修改要求重新复制整个文件,代价很高,采用方法可以降低所需要的代价。
7. 文件要在磁盘上生成,在建立文件时,记录可以不必顺序存放,只要采用某种方式建立起逻辑记录与记录的物理地址的对应关系即可。
8. 文件要在磁盘和磁带等多种媒体上生成,特别适宜于全文件的读写,原则上文件的更新用文件全体复制进行。
9. 文件,在建立文件时,给每一个记录编号,系统保持记录号到记录的物理位置的对照表,记录号不作为记录中的内容,也不出现在对照表中。
10 存放在磁盘上的链文件,也称为表,此表指出索引文件中各记录物理位置。
三、设计题1. 设某文件有14个记录,其关键字分别为{25, 75, 125, 93, 241, 203, 19, 198, 121, 173, 218, 80, 214, 329}。
桶的容量M = 3,此时采用除留余数法构造哈希函数,且哈希函数为hash (key) = key % 5,设计并画出哈希文件的结构图,并说明如何对其进行删除或插入、检索等操作。
中国农业大学_821数据结构_《数据结构》习题(2)
第2章线性表一、回答题1. 线性表的两种存储结构各有哪些优缺点?2. 对于线性表的两种存储结构,如果有n个线性表同时并存,并且在处理过程中各表的长度会动态发生变化,线性表的总数也会自动改变,在此情况下,应该选用哪种存储结构,为什么?3. 对于线性表的两种存储结构,如果线性表的总数基本稳定,并且很少进行插入和删除操作,但是要求以最快的速度存取线性表中的元素,那么应该选用哪种存储结构?试说明理由。
二、填空题1. 已知L是无头结点的单链表,且p结点既不是第一个结点,也不是最后一个结点,试从下列提供的语句中选出合适的语句序列:(1) 在p结点之后插入s结点:(2) 在p结点之前插入s结点:(3) 在单链表L首插入s结点:(4) 在单链表L后插入s结点:提供的语句:①p->next = s;② p ->next = p ->next ->next; ③ p ->next = s ->next; ④ s ->next = p ->next; ⑤ s ->next = L; ⑥ s ->next = p; ⑦ s ->next = NULL; ⑧ q = p;⑨ while ( p ->next ! = q ) p = p ->next ; ⑩ while ( p ->next ! = NULL ) p = p ->next ; p = q; p = L; L = s; L = p;2. 已知p 结点是某双向链表的中间结点,试从下列提供的语句中选出合适的语句序列。
(1) 在p 结点之后插入s 结点: (2) 在p 结点之前插入s 结点: (3) 删除p 结点的直接后继结点: (4) 删除p 结点的直接前驱结点:提供的语句:① p ->next = p ->next ->next; ② p ->prior = p ->prior ->prior; ③ p ->next = s; ④ p ->prior = s;11 12 13 14⑤ s ->next = p; ⑥ s ->prior = p; ⑦ s ->next = p ->next; ⑧ s ->prior = p ->prior; ⑨ p ->prior ->next = p ->next; ⑩ p ->prior ->next = p; p ->next ->prior = p; p ->next ->prior = s; p ->prior ->next = s; p ->next ->prior = p ->prior; q = p ->next; q = p ->prior; delete p; delete q;3. 在顺序表中插入或删除一个数据元素,需要平均移动个元素,具体移动的元素个数与有关。
河南农业大学13-14-2数据结构试卷(a) 有答案
二、选择题(每题2分,共40分)1.算法指的是()。
A.计算机程序 B.解决问题的计算方法C.排序算法D.解决问题的有限运算序列2.线性表采用链式存储时,结点的存储地址()。
A.必须是不连续的B.连续与否均可C.必须是连续的 D.和头结点的存储地址相连续3.将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为()。
A.O(1) B.O(n)C.O(m) D.O(m+n)4.线性表L在()情况下适用于使用链式结构实现。
A.需经常修改L中的结点值B.需不断对L进行删除插入C.L中含有大量的结点D.L中结点结构复杂5.设单链表中结点的结构为(data,1ink)。
已知指针q所指结点是指针p所指结点的直接前驱,若在*q与*p之间插入结点*s,则应执行下列哪一个操作?()。
A.s一>1ink=p一>1ink;p一>1ink=sB.q一>1ink=s;s一>link=pC.p一>link=s一>1ink;s一>1ink=pD.p一>1ink=s;s一>1ink=q6.由两个栈共享一个向量空间的好处是:()。
A.减少存取时间,降低下溢发生的机率B.节省存储空间,降低上溢发生的机率C.减少存取时间,降低上溢发生的机率D.节省存储空间,降低下溢发生的机率7.如下陈述中正确的是()。
A.串是一种特殊的线性表B.串的长度必须大于零C.串中元素只能是字母D.空串就是空白串8.一个非空广义表的表头()。
A.不可能是子表B.只能是子表C.只能是原子D.可以是子表或原子9.一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来看,通常递归过程比非递归过程()。
A.较快B.较慢C.相同D.不一定10.树中所有结点的度等于所有结点数加()。
A.0B.1C.一1D.211.在一棵具有n个结点的二叉树中,所有结点的空子树个数等于()。
A.nB.n一1C.n+1D.2*n12.某二叉树的前序序列和后序序列正好相反,则该二叉树一定是()的二叉树。
中国农业大学_821数据结构_《数据结构》期末题(2套)
其散列函数为 h(key) = key % 13,处理冲突的方法为双重散列法,探查序列为: hi = (h(key) + i * 3) % 13, i = 1, 2, … 问:对表中关键字 61 进行查找时,所需进行的比较次数为多少?依次写出每次的计算公式 和值。 (10 分) 四、阅读下面程序,回答问题 (10 分) void function(Link **Head) { Link *pt1, *pt2, *tmp; pt1 = *Head; if (pt1 == NULL) return; pt2 = pt1->next; pt1->next = NULL; while (pt2 != NULL) { tmp = pt2->next; pt2->next = pt1; pt1 = pt2; pt2 = tmp;
D. 排序算法
2. 在数据结构中,可用存储顺序代表逻辑顺序的数据结构为 ( 3. 在数据结构中,按逻辑结构可把数据结构分为 ( A. 静态结构和动态结构 C. 顺序结构和链式结构 4. 对链式存储的正确描述是 ( A. 结点之间是连续存储的 C. 各结点类型可以不一致 A. 串中元素只能是字母 C. 串是一种特殊的线性表 )
数据结构 试题(A )卷(闭卷)
2009--2010 学年第 一 学期
学号
一、单项选择题 (每题 1 分,共 15 分) 1. 在计算机科学中,算法指的是 ( A. 计算机程序 A. 顺序结构 ) B. 描述问题的方法 B. 二叉排序树
姓名
C. 解决问题的有限步骤序列 ) D. Hash 表 C. 链式结构 )
14. 若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为 ( 15. 在一个顺序存储的有序序列中查找指定的关键字,其时间复杂度的下界是 ( A. O(logn) B. O(nlogn) C. O(n) D. O(1) 二、已知一个无向图的顶点集为{ a, b, c, d, e, f },其邻接矩阵如下所示(0-无边,1-有边)。
数据结构作业题及参考答案
东北农业大学网络教育学院数据结构作业题(一)一、选择题(每题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) 个顶点的无向图最多有条边,最少有条边。
中国农业大学_821数据结构_《数据结构》习题(8)
6. 已知长度为 12 的表 ( Jan, Feb, Mar, Apr, May, Jun, July, Aug,, Sep, Oct, Nov, Dec ): (1) 试按表中顺序依次将元素插入一棵初始为空的二叉树。 (字符之间以字典顺序比较 大小) 画出插入完成之后的二叉排序树, 且求在等概率的情况下查找成功的平均查找长度。 (2) 如果对表中元素先排序构成有序表,试求在等概率情况下对有序表进行折半查找 时,查找成功的平均查找长度。 (3) 按表中元素顺序构造出一棵相应的平衡二叉树,并求出在等概率的情况下查找成 功的平均查找长度。 7. B+树和 B-树的主要差异树什么? 8. 什么叫哈希法?哈希法中为什么会出现冲突? 9. 设关键值集合为 { 016, 087, 154, 170, 275, 426, 503, 509, 512, 612, 653, 678 },设计 一种哈希表,取装填因子 = 0.5,根据选择的哈希函数,计算出对应的地址,并统计出发 生冲突的次数。 10. 设关键值集合为 { SUN, GAO, HUA, WAN, PEN, YAN, LIU, ZHE, YAO, CHE }, 试 构造装填因子 = 10/13 的哈希表,取关键值的首字母在字母表中的序号(字典序)作为哈 希函数值,用线性探测法解决冲突,画出其哈希表。 11. 假定一个待哈希存储的线性表为 ( 32, 75, 63, 48, 94, 25, 36, 18, 70 ), 哈希地址空间 为[ 0 . . 10 ],如果采用除留余数法构造哈希函数和分别采用步长为 1 及步长为 3 的线性探 测法处理冲突,试分别给出它们对应的哈希表,并分别求出在等概率情况下查找成功时的 平均查找长度。 12. 将序列 (13, 15, 22, 8, 34, 19, 21) 插到一个初始时是空的哈希表中, 哈希函数采用 hash (x) = 1 + ( x MOD 7 )。 (1) 使用线性探测法解决冲突; (2) 使用步长为 3 的线性探测法解决冲突;
东北林业大学数据结构(A)2005-2006答案
东北林业大学2005-2006学年第二学期考试试题考试科目:数据结构(A)评分标准及参考答案一、单项选择题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题1.5分,总计10分)(选对1个题给1.5分,选错1个题不给分)1、从逻辑上可以把数据结构分为()两大类。
A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构答案(C)2、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表答案( A )3、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是( )。
A.(rear-front+m)%mB. rear-front+1C. rear-front-1D. rear-front答案( A )4、串的长度是指()A.串中所含不同字母的个数 B.串中所含字符的个数C.串中所含不同字符的个数 D.串中所含非空格字符的个数答案( B)5、设广义表L=((a,b,c)),则L的长度和深度分别为()。
A. 1和1B. 1和3C. 1和2D. 2和3答案(C)6、二叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK;中序遍历: HFIEJKG 。
该二叉树根的右子树的根是:( )A. EB. FC. GD. H答案( C )7、深度为h的满m叉树的第k层有()个结点。
(1=<k=<h)A.m k-1 B.m k-1 C.m h-1 D.m h-1答案(A)8、关键路径是事件结点网络中()。
A.从源点到汇点的最长路径 B.从源点到汇点的最短路径C.最长回路 D.最短回路答案(A)9、散列文件使用散列函数将记录的关键字值计算转化为记录的存放地址,因为散列函数是一对一的关系,则选择好的()方法是散列文件的关键。
中国农业大学_821数据结构_《数据结构》习题(3)
第3章栈和队列一、回答题1. 栈和线性表的区别是什么?栈和队列的相同点和不同点是什么?2. 如果进栈的数据元素序列为A、B、C、D,则可能得到的出栈序列有多少种?写出全部可能的序列。
3. 如果进栈的数据元素序列为1、2、3、4、5、6,能否得到4、3、5、6、1、2和1、3、5、4、2、6的出栈序列?并说明为什么不得到或如何得到。
二、填空题1. 线性表、栈和队列都是结构,可以在线性表的位置插入和删除数据元素;对于栈只能在插入和删除数据元素;对于队列只能在插入数据元素和在删除元素。
2. 在一个长度为n的线性表的第i个数据元素(1≤i≤n+1)之前插入一个数据元素时需向后移动个数据元素。
3. 在一个长度为n的线性表中,删除第i个数据元素(1≤i≤n)时需向前移动个数据元素。
4. 向栈中压入数据元素的操作是,从栈中弹出数据元素的操作是。
5. 在一个循环队列中,队头指针指向队首数据元素的,从循环队列中删除一个数据元素的操作是。
6. 在具有n个单元的循环队列中,队满时共有个数据元素(假定每个数据元素占一个单元)。
三、算法题1. 对于一个具有maxsize个单元的循环队列,设计一个算法,输出其中的所有数据元素(假定每个数据元素占一个单元)。
2. 如果用一个循环数组Q[0..num-1]表示队列时,该队列只有一个头指针front,不设队尾指针rear,而改置计数器count用以记录队列中结点的个数。
首先编写实现队列的5个基本运算的算法:InitQueue,EmptyQueue,GetHead,EnQueue,DeQueue;然后试回答:队列中能容纳的元素的最多个数是num-1吗?3. 假设一个算术表达式中包含圆括弧、方括弧和花括弧3种类型的括弧,编写一个判别表达式中括弧是否正确配对的算法。
以字符“#”作为算术表达式的结束符。
4. 某汽车轮渡口,过江渡船每次能载10辆车过江。
过江车辆分为客车类和货车类,上船有如下规定:(1) 同类车先到先上船,客车先于货车上渡船,且每上4辆客车才允许上1辆货车;(2) 若等待客车不足4辆,则以货车代替;若无货车等待,则允许客车都上船。
中国农业大学_821数据结构_《数据结构》习题(1)
n 1时 n 1时
① 。 (注意,n为求解问题的规模,为简单起见,设n是2的正整
① 。 (注:n为求解问题的规模)
for ( i = j; i <= n; i++ ) if ( a[i] < a[j] ) { temp = a[i]; } // end_if j++; Order ( j, n ); } // end_if } // Order void main ( ) { // 递归调用Order函数 a[i] = a[j]; a[j] = temp;
① 。 (注:n为求解问题的规模)
while ( x >= (y+1)*(y+1) ) y++; }
3. 下面程序段的时间复杂度是
void main ( ) i = 1; do { k += 10*i; i++; } while ( i == n ) } { k = 0; n = 100;
① 。 (注:n为求解问题的规模)
Order ( 0, 7 ); for ( i = 0; i <= 7; i++ ) cout << endl; } // main cout << a[i] << " ";
10. 斐波那契数列 Fn 定义如下:F0 = 0,F1 = 1,Fn = Fn-1 + Fn-2,其中 n = 2,3,…。 请就此斐波那契数列,回答下列问题。 (1) 在递归计算Fn时,需要对较小的Fn-1,Fn-2,…,F1,F0精确计算 (2) 如果用大O表示法,那么递归计算Fn时递归函数的时间复杂度是 ① 次。
浙江农林大学2018-2019学年数据结构试卷A
浙江农林大学2018---2019学年第二学期考试卷(A)课程名称:数据结构课程类别:必修考试方式:闭卷注意事项:1、本试卷满分100分。
2、考试时间120分钟。
一、填空题(1×12 = 12 分)1、常见的四类基本数据结构有:线性结构、_________、__________和图状结构。
2、栈又称为表,队列又称为表。
3.串S=″I am a worker″的长度是________。
4、设有二维数组A[0..9,0..19],其每个元素占两个字节,第一个元素的存储地址为100,若按行优先顺序存储,则元素A[6,6]的存储地址为。
5、使用折半查找时,静态查找表必须不仅是______,并且______存储。
6、利用MST性质来构造最小生成树的两种常用算法为_________和__________。
7、每次直接或通过基准元素间接比较两个元素,若出现逆序排列时就交换它们的位置,此种排序方法叫做排序;每次使两个相邻的有序表合并成一个有序表的排序方法叫做排序。
二、判断(对的打∨,错误打×, 8×2 = 16 分)1、在数据元素的非空有限集中,存在唯一的一个被称为”前驱”的元素,也存在唯一的一个称为”后继”的元素( )2、一般情况下,在第i(1<= i <=n) 个元素之前插入一个元素,需要将第n个到第i个元素向后移动一个位置,移动元素的个数为n-i+1( )3、队列的基本特征是先进后出( )4、数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。
5、赫夫曼树是指带权路径长度WPL最小的二叉树。
一般而言,在给定条件下构造出的赫夫曼树不是唯一的。
( )6、路径长度最长的路径为关键路径。
( )7、由树转化成二叉树,其根的右子女指针总是空的。
( )8、直接选择排序是一种稳定的排序方法。
( )三、选择题(7×3=21分)1、线性链表不具有的特点( ).A.随机访问B.不必事先估计所需存储空间大小C.插入与删除时不必移动元素D.所需空间与线性表长度成正比2、带头结点的单链表first为空的判定条件是:A. first == NULL;B. first->link == NULL;C. first->link == first;D. first != NULL;3、一个栈的输入序列为1,2,3,4,下面哪一个序列不可能是这个栈的输出序列?A. 1,3,2,4B. 2,3,4,1C. 4,3,1,2D. 3,4,2,14、具有65个结点的完全二叉树的高度为( ). (根的层次号为1)A.8B.7C.6D.55、ALV树是一种平衡的二叉排序树,树中任一结点的( )A.左、右子树的高度均相同B.左、右子树高度差的绝对值不超过1C 左子树的高度均大于右子树的高度 D.左子树的高度均小于右子树的高度6、若一棵二叉树具有10个度为2的结点,则该二叉树的度为0的结点个数是A. 9B. 11C. 12D. 不确定7、若待排序序列在排序前已按其排序码递增顺序排列,则采用( )方法比较次数最少.A.直接插入排序B.快速排序C.归并排序D.直接选择排序四、基本概念分析题(共31分)1、写出下列图的邻接矩阵和邻接表(5+5分)2、已知一棵二叉树的前序和中序序列如下:(6+5分)前序序列:A, B, C, D, E, F, G, H, I, J中序序列:C, B, A, E, F, D, I, H, J, G(1)画出该二叉排序树(2)给出该二叉排序树的后序遍历3、设待排序文件的关键码为(512,275,908,677,503,765,612,897,154,170)以第一元素为分界元素进行快速排序(按关键码值递增顺序),请给出一趟扫描后的结果。
15秋川农《数据结构(专科)》在线作业答案
15秋川农《数据结构(专科)》在线作业答案《数据结构(专科)》在线作业一、单选题(共 20 道试题,共 100 分。
)1. 设串sl=″t Strutures with Jv″,s2=″it″,则子串定位函数inex(s1,s2)的值为( ) . 15. 16. 17. 18正确答案:2. 向二叉搜索树中插入一个元素时,其时间复杂度大致为( ). O(㏒2n). O(n). O(1). O(㏒2n)正确答案:3. VL树是一种平衡的二叉排序树,树中任一结点的( ). 左、右子树的高度均相同. 左、右子树高度差的绝对值不超过1. 左子树的高度均大于右子树的高度. 左子树的高度均小于右子树的高度正确答案:4. 对有14个数据元素的有序表R[14]进行折半搜索,搜索到R[3]的关键码等于给定值,此时元素比较顺序依次为( ). R[0],R[1],R[2],R[3]. R[0],R[13],R[2],R[3]. R[6],R[2],R[4],R[3]. R[6],R[4],R[2],R[3]正确答案:5. 一个关键字序列为{46,79,56,38,40,84},采用快速排序以位于最左位置的元素为基准而得到的第一次划分结果为( ) . {38,46,79,56,40,84}. {38,79,56,46,40,84}. {40,38,46,56,79,84}. {38,46,56,79,40,84}正确答案:6. 线性表是一个具有n个()的有限序列。
. 表元素. 字符. 数据元素. 数据项正确答案:7. 设某算法的问题规模函数f(n)=300n2+8000n+900,则它的渐进时间复杂度为( ). O(n3). O(n2). O(n). O(1)正确答案:8. 假定一个顺序队列的队首和队尾指针分别为f和r,则判断队空的条件为( ). f+1==r. r+1==f. f==0. f==r正确答案:9. 对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。
2022年中国农业大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)
2022年中国农业大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、n个结点的完全有向图含有边的数目()。
A.n*nB.n(n+1)C.n/2D.n*(n-1)2、哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的()方法是哈希文件的关键。
A.哈希函数B.除余法中的质数C.冲突处理D.哈希函数和冲突处理3、静态链表中指针表示的是()。
A.下一元素的地址B.内存储器的地址C.下一元素在数组中的位置D.左链或右链指向的元素的地址4、已知串S='aaab',其next数组值为()。
A.0123B.1123C.1231D.12115、在下列表述中,正确的是()A.含有一个或多个空格字符的串称为空格串B.对n(n>0)个顶点的网,求出权最小的n-1条边便可构成其最小生成树C.选择排序算法是不稳定的D.平衡二叉树的左右子树的结点数之差的绝对值不超过l6、下列选项中,不能构成折半查找中关键字比较序列的是()。
A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,4507、若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b, c,d,e,a,则根结点的孩子结点()。
A.只有e B.有e、b C.有e、c D.无法确定8、有n(n>0)个分支结点的满二叉树的深度是()。
A.n2-1B.log2(n+1)+1C.log2(n+1)D.log2(n-l)9、在下述结论中,正确的有()。
①只有一个结点的二叉树的度为0。
②二叉树的度为2。
③二叉树的左右子树可任意交换。
④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A.①②③B.⑦③④C.②④D.①④10、一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构(第2版)-在线作业_A
一单项选择题
1.
设有数据逻辑结构为:Data=(D,R);
D={d1,d2,d3,d4,d5,d6,d7 }
R={<d1,d2>,<d2,d1>,<d1,d4>,<d4,d1>,<d2,d3>,<d3,d2>,<d2,d6>,<d6,d2>,<d2,d7>,<d7,d2>, <d3,d7><d7,d3><d4,d6><d6,d4>,<d5,d7>,<d7,d5>}
试分析该数据结构属于哪种逻辑结构?()
(5.0 分)
网络结构
线性逻辑结构
图结构
树结构
知识点: 1.2 基本概念和术语
用户解答:树结构
2.
判断下列程序段的时间复杂度数量级()。
for(i=1;i<n;i++)
for(j=1;j<=i;j++)
for(k=1;k<=j;k++)
x=x+1;
(5.0 分)
O(n)
O(n2)
O(1)
O(n3)
知识点: 1.3 C程序与例题
用户解答: O(n)
3.
在一个长度为n的顺序存储线性表中,向第i个元素(1<=i<=n+1)位置插入一个新元素时,需要从后向前依次后移()个元素。
(5.0 分)
i
n-i+1
n-i-1
n-i
知识点: 2.2 顺序存储结构线性表
用户解答: n-i+1
4.
在一个单链表中,若要在p所指向的结点之后插入一个新结点,则需要相继修改()个指针域的内容。
(5.0 分)
1
2
3
4
知识点: 2.3 链接存储结构线性表
用户解答: 2
5.
当利用大小为N的数组顺序存储一个栈时,假定用top==N表示栈空,则向这个栈插入一个元素时,首先应执行()语句修改top指针。
(5.0 分)
top--
top++
top=0
top=N-1
知识点: 3.2 堆栈
用户解答: top--
6.
在规定顺序环形队列一般状态队头指针指向第一个数据元素之前的空位,队尾指针指向末尾元素的前提下,假定一个顺序循环队列的队首和队尾指针分别用front和rear表示,则判断队空的条件为()。
(5.0 分)
front+1 == rear
front == 0
rear+1 == front
front == rear
知识点: 3.1 顺序存储结构队列
用户解答: front == rear
7.
(5.0 分)
下述编码中不是前缀编码的是()。
{0,01,00,11}
{1,01,000,001}
{00,01,10,11} {0,10,110,111}
知识点: 4.1 树的基本概念 用户解答: {0,01,00,11}
8.
(5.0 分)
8
32 16 15
知识点: 4.2 二叉树 用户解答: 16
9.
(5.0 分)
较低,较近 较高,较近 较高,较远
知识点: 4.4 Huffman 树及应用 用户解答: 较低,较近
10.
(5.0 分)
S+1
在一棵二叉树上第5层的结点数最多为( )。
Huffman 树是带权路径长度最小的数,树中权重( )的结点,距离根结点( )。
在一个具有n 个顶点的有向图中,若所有顶点的出度之和为S ,则所有顶点的入度之和为( )。
S-1 n S
知识点: 5.1 图的基本术语与定义 用户解答: S
11.
(5.0 分)
中序遍历
先序遍历 按层遍历 后续遍历
知识点: 5.2 图的存储|5.3 图的遍历 用户解答: 先序遍历
12.
(5.0 分)
1-4-6-2-5-3 1-2-4-6-3-5 1-2-3-4-5-6 1-4-2-3-6-5
采用邻接表存储的图的深度优先遍历算法,类似与二叉树的( )。
已知有向图如下,则该图的一种拓扑序列为( )。
知识点: 5.6 拓扑排序
用户解答: 1-4-6-2-5-3
13.
对下图从顶点a出发进行深度优先遍历,正确的广度优先遍历结点序列为()。
(5.0 分)
abcefb
adefbc
adcbef
adbcef
知识点: 5.3 图的遍历
用户解答: adcbef
14.
对长度为3的顺序表进行查找,查找第一个元素的概率是1/2,查找第二个元素的概率是1/3,查找第三元素的概率是1/6,则查找任意元素的平均查找长度为()。
(5.0 分)
7/3
5/3
2
4/3
知识点: 6.2 查找算法
用户解答: 5/3
15.
多种排序方法中:()法从未排序的序列中依次取出元素,与已排序序列(初始为空)中的元素作比较,将其放入已排序序列的正确位置;()法从未排序的序列中挑选元素,并将其依次放入已排序序列的正确位置。
(5.0 分)
基数排序,快速排序
插入排序,选择排序
冒泡排序,shell排序
归并排序,堆排序
知识点: 7 排序
用户解答:插入排序,选择排序
16.
用希尔排序对数据序列{15,9,7,8,20,-1,4}进行排序,进行第一趟排序后,数据序列变为{15,-1,4,8,20,9,7},你认为采用的排序asp(数据段长度)为()。
(5.0 分)
1
3
4
2
知识点: 7.2 希尔排序
用户解答: 4
17.
一组记录关键字为{46,79,56,38,40,84},应用快速排序法,以第一个关键字作为排序对象(枢轴),得到结果为()。
(5.0 分)
40,38,46,84,56,79
38,40,46,56,79,84
40,38,46,56,79,84
40,38,46,79,56,84
知识点: 7.4 快速排序
用户解答: 38,40,46,56,79,84
18.
一个无序数据序列12,36,41,20,80,55 采用顺序表存储数据,采用堆排序算法建立的初始大根堆为()。
(5.0 分)
80,12,55,20,36,41
80,12,20,55,36,41
80,36,20,12,55,41
80,36,15,20,12,41
知识点: 7.3 堆排序
用户解答: 80,36,15,20,12,41
19.
给定三个算法频度函数:
f(n)=100n3+n2+1000
g(n)=25n3+4000n2
h(n)=n1.01+1000nlg(n)
指出算法时间复杂度数量级描述中错误的是()。
(5.0 分)
f(n)=O(n3)
h(n)=O(n1.01)
g(n)=O(n3)
h(n)=O(nlg(n))
知识点: 1.3 C程序与例题
用户解答: h(n)=O(n1.01)
20.
(5.0 分)
在数据结构中,从逻辑上可以把数据结构分成()。
内部结构和外部结构
紧凑结构和非紧凑结构
动态结构和静态结构
知识点: 1.2 基本概念和术语
用户解答:线性结构和非线性结构。