0.0954

五煦查题

快速找到你需要的那道考题与答案

mooc数据结构_71章节答案(慕课2023课后作业答案)

99 min read

mooc数据结构_71章节答案(慕课2023课后作业答案)

第一讲 绪论(1:15:26)

1.2 什么是数据算法(3节共22:41)随堂测验

1、下列函数中,结构哪个函数具有最快的章节作业增长速度:
A、
B、答案答案
C、慕课
D、课后

2、数据下面一段代码的结构时间复杂度是?if ( A > B ) { for ( i=0; i<N; i++ ) for ( j=N*N; j>i; j-- ) A += B; } else { for ( i=0; i<N*2; i++ ) for ( j=N*2; j>i; j-- ) A += B; }
A、
B、章节作业
C、答案答案
D、慕课

第一章测试题

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、A和B

6、以下数据结构中,( )是非线性数据结构
A、树
B、字符串
C、队列
D、栈

7、试分析下面各程序段的时间复杂度。 x=90; y=100; while(y>0) if(x>100) { x=x-10;y--;} else x++;

8、试分析下面各程序段的时间复杂度。 for (i=0; i<n; i++) for (j=0; j<m; j++) a[i][j]=0;

9、试分析下面各程序段的时间复杂度。 s=0; for i=0; i<n; i++) for(j=0; j<n; j++) s+=B[i][j]; sum=s;

10、试分析下面各程序段的时间复杂度。 i=1; while(i<=n) i=i*3;

11、试分析下面各程序段的时间复杂度。 x=0; for(i=1; i<n; i++) for (j=1; j<=n-i; j++) x++;

12、试分析下面各程序段的时间复杂度。 x=n; //n>1 y=0; while(x≥(y+1)* (y+1)) y++;

第二讲 线性结构(2:19:00)[何钦铭]

2.1 线性表及其实现(6小节共45:04)随堂测验

1、对于线性表,在顺序存储结构和链式存储结构中查找第k个元素,其时间复杂性分别是多少?
A、都是O(1)
B、都是O(k)
C、O(1)和O(k)
D、O(k)和O(1)

2、在顺序结构表示的线性表中,删除第i个元素(数组下标为i-1),需要把后面的所有元素都往前挪一位,相应的语句是: for (___________ ) PtrL->Data[j-1]=PtrL->Data[j]; 其中空缺部分的内容应该是
A、j = i; j< = PtrL->Last; j++
B、j =PtrL->Last; j>= i; j--
C、j = i-1; j< = PtrL->Last; j++
D、j =PtrL->Last; j>= i-1; j--

3、下列函数试图求链式存储的线性表的表长,是否正确? int Length ( List *PtrL ) { List *p = PtrL; int j = 0; while ( p ) { p++; j++; } return j; }

2.2 堆栈(4小节共39:51)随堂测验

1、借助堆栈将中缀表达式A-(B-C/D)*E转换为后缀表达式,则该堆栈的大小至少为:
A、2
B、3
C、4
D、5

2、设1、2、…、n–1、n共n个数按顺序入栈,若第一个出栈的元素是n,则第三个出栈的元素是:
A、3
B、n-2
C、n-3
D、任何元素均可能

3、若用单向链表实现一个堆栈,当前链表状态为:1->2->3。当对该堆栈执行pop()、push(4)操作后,链表状态变成怎样? (1)4->2->3 (2) 1->2->4
A、只能是(1)
B、只能是(2)
C、(1)和(2)都有可能
D、(1)和(2)都不可能

4、如果一堆栈的输入序列是aAbBc,输出为 abcBA,那么该堆栈所进行的操作序列是什么? 设P代表入栈,O代表出栈。
A、PPPOOPOPOO
B、POOPPPOPOO
C、POPPOPPOOO
D、PPOPPOOOPO

2.3 队列(2小节共15:45)随堂测验

1、在一个链表表示的队列中, f和r分别指向队列的头和尾。下列哪个操作能正确地将s结点插入到队列中:
A、f->next=s; f=s;
B、r->next=s; r=s;
C、s->next=r; r=s;
D、s->next=f; f=s;

2、现采用大小为10的数组实现一个循环队列。设在某一时刻,队列为空且此时front和rear值均为5。经过若干操作后,front为8,rear为2,问:此时队列中有多少个元素?
A、4
B、5
C、6
D、7

第三讲 树(上) (1:50:08)[何钦铭]

3.1 树与树的表示(5小节共38:54)随堂测验

1、在分量1~11的数组中按从小到大顺序存放11个元素,如果用顺序查找和二分查找分别查找这11个元素,哪个位置的元素在这两种方法的查找中总次数最少?
A、1
B、2
C、3
D、6

2、在分量1~11的数组中按从小到大顺序存放11个元素,如果进行二分查找,查找次数最少的元素位于什么位置?
A、1
B、5
C、6
D、11

3、一棵度为 m的树有n个节点。若每个节点直接用m个链指向相应的儿子,则表示这个树所需要的总空间是n*(m+1) (假定每个链以及表示节点的数据域都是一个单位空间).。当采用儿子/兄弟(First Child/Next Sibling)表示法时,所需的总空间是:
A、3n
B、2n
C、n*m
D、n*(m-1)

3.2 二叉树及存储结构(2小节共16:43)随堂测验

1、如果一个完全二叉树最底下一层为第六层(根为第一层)且该层共有8个叶结点,那么该完全二叉树共有多少个结点?
A、31
B、39
C、63
D、71

2、若有一二叉树的总结点数为98,只有一个儿子的结点数为48,则该树的叶结点数是多少?
A、25
B、50
C、不确定
D、这样的树不存在

3、设深度为d(只有一个根结点时,d为1)的二叉树只有度为0和2的结点,则此类二叉树的结点数至少为2d-1

3.3 二叉树的遍历(4小节共37:02)随堂测验

1、假定只有四个结点A、B、C、D的二叉树,其前序遍历序列为ABCD,则下面哪个序列是不可能的中序遍历序列?
A、ABCD
B、ACDB
C、DCBA
D、DABC

2、对于二叉树,如果其中序遍历结果与前序遍历结果一样,那么可以断定该二叉树________
A、是完全二叉树
B、所有结点都没有左儿子
C、所有结点都没有右儿子
D、这样的树不存在

3、已知一二叉树的后序和中序遍历的结果分别是FDEBGCA 和FDBEACG,那么该二叉树的前序遍历结果是什么?
A、ABDFECG
B、ABDEFCG
C、ABDFEGC
D、ABCDEFG

第四讲 树(下)(1:53:28)[何钦铭]

5.1 堆(4小节共30:05)随堂测验

1、下列序列中哪个是最小堆?
A、2, 55, 52, 72, 28, 98, 71
B、2, 28, 71, 72, 55, 98, 52
C、2, 28, 52, 72, 55, 98, 71
D、28, 2, 71, 72, 55, 98, 52

2、在最大堆 { 97,76,65,50,49,13,27}中插入83后,该最大堆为:
A、{ 97,76,65,83,49,13,27,50}
B、{ 97,83,65,76,49,13,27,50}
C、{ 97,83,65,76,50,13,27,49}
D、{ 97,83,65,76,49,50,13,27}

3、对由同样的n个整数构成的二叉搜索树(查找树)和最小堆,下面哪个说法是不正确的:
A、二叉搜索树(查找树)高度大于等于最小堆高度
B、对该二叉搜索树(查找树)进行中序遍历可得到从小到大的序列
C、从最小堆根节点到其任何叶结点的路径上的结点值构成从小到大的序列
D、对该最小堆进行按层序(level order)遍历可得到从小到大的序列

5.2 哈夫曼树与哈夫曼编码(3小节共19:52)随堂测验

1、如果哈夫曼树有67个结点,则可知叶结点总数为:
A、22
B、33
C、34
D、不确定

2、为五个使用频率不同的字符设计哈夫曼编码,下列方案中哪个不可能是哈夫曼编码?
A、00,100,101,110,111
B、000,001,01,10,11
C、0000,0001,001,01,1
D、000,001,010,011,1

3、一段文本中包含对象{ a,b,c,d,e},其出现次数相应为{ 3,2,4,2,1},则经过哈夫曼编码后,该文本所占总位数为:
A、12
B、27
C、36
D、其它都不是

5.3 集合及运算(2小节共12:57)随堂测验

1、已知a、b两个元素均是所在集合的根结点,且分别位于数组分量3和2位置上,其parent值分别为-3,-2。问:将这两个集合按集合大小合并后,a和b的parent值分别是多少?
A、-5,2
B、-5,3
C、-3,3
D、2,-2

第五讲 图(上)(1:29:32)[陈越]

6.1 什么是图(3小节共24:02)随堂测验

1、有个顶点的无向完全图有多少条边?
A、
B、
C、
D、

2、给定有向图的邻接矩阵如下: 顶点2(编号从0开始)的出度和入度分别是:
A、3, 1
B、1, 3
C、0, 2
D、2, 0

3、有向图的邻接矩阵一定是不对称的

4、用一维数组G[ ]存储有4个顶点的无向图如下: G[ ] = { 0, 1, 0, 1, 1, 0, 0, 0, 1, 0 } 则顶点2和顶点0之间是有边的。

6.1 什么是图(3小节共24:02)随堂测验

1、用邻接表表示有个顶点、条边的图,则遍历图中所有边的时间复杂度为:
A、
B、
C、
D、

6.2 图的遍历(4小节共22:22)随堂测验

1、已知一个图如下图所示,从顶点a出发按深度优先搜索法进行遍历,则可能得到的一种顶点序列为
A、a,e,b,c,f,d
B、a,b,e,c,d,f
C、a,c,f,e,b,d
D、a,e,d,f,c,b

6.2 图的遍历(4小节共22:22)随堂测验

1、已知一个图如下图所示,从顶点a出发按广度优先搜索法进行遍历,则可能得到的一种顶点序列为
A、a,b,c,e,d,f
B、a,b,c,e,f,d
C、a,e,b,c,f,d
D、a,c,f,d,e,b

6.2 图的遍历(4小节共22:22)随堂测验

1、具有个顶点的无向图至多有多少个连通分量
A、0
B、1
C、
D、

2、如果从无向图的任一顶点出发进行一次深度优先搜索可访问所有顶点,则该图一定是
A、有回路的图
B、完全图
C、连通图
D、一棵树

3、具有个顶点的无向图至少有多少个连通分量
A、0
B、1
C、
D、

第七讲 图(下)(57:02)[陈越]

8.1 最小生成树问题(2小节共20:16)随堂测验

1、给定下图,其最小生成树的总权重是
A、21
B、30
C、34
D、35

2、连通图的最小生成树一定是唯一的

8.2 拓扑排序(2小节共27:57)随堂测验

1、拓扑序一定是唯一的。

8.2 拓扑排序(2小节共27:57)随堂测验

1、下图给定了一个项目的AOE。整个项目最早完工需要的时间是
A、17
B、19
C、20
D、23

2、在上图中,如果<0,2>组能加快进度,整个项目就能提前完工。

第八讲 二叉排序树和平衡二叉树(1:06:31)[何钦铭]

4.1 二叉搜索树(3小节共20:57)随堂测验

1、已知一棵由1、2、3、4、5、6、7共7个结点组成的二叉搜索树(查找树),其结构如图所示,问:根结点是什么?
A、1
B、4
C、5
D、不能确定

2、在上题的搜索树中删除结点1,那么删除后该搜索树的后序遍历结果是:
A、243765
B、432765
C、234567
D、765432

3、若一搜索树(查找树)是一个有n个结点的完全二叉树,则该树的最大值一定在叶结点上

4、若一搜索树(查找树)是一个有n个结点的完全二叉树,则该树的最小值一定在叶结点上

4.2 平衡二叉树(2小节共22:53)随堂测验

1、将1、2、3、4、5、6顺序插入初始为空的AVL树中,当完成这6个元素的插入后,该AVL树共有多少层?
A、2
B、3
C、4
D、5

2、若一AVL树的结点数是21,则该树的高度至多是多少?注:只有一个根节点的树高度为0
A、4
B、5
C、6
D、7

第九讲 散列表查找(1:43:39)[何钦铭]

11.3 冲突处理方法(6小节共36:26)随堂测验

1、设有一组记录的关键字为 { 19,14,23,1,68,20,84,27,55,11,10,79},用分离链接法构造散列表,散列函数为H(key)= key mod 13。问:散列地址为1的链中有几个记录?
A、1
B、2
C、3
D、4

2、设一个散列表的大小是11, 散列函数是H(key)=key mod 11. 若采用平方探测()冲突解决方法,将4个元素{ 14,38,61,86}顺序插入散列表中。如果再插入元素49,则该元素将被放在什么位置?
A、4
B、6
C、9
D、10

3、假设一散列表的大小是11,散列函数是H(key)=key mod 11,用线性探测法解决冲突。先将4个元素{ 14,38,61,86}按顺序插入初始为空的散列表中。如果再插入元素49,则该元素被插入到表中哪个位置(下标)?
A、4
B、5
C、6
D、7

11.4 散列表的性能分析(1小节10:26)随堂测验

1、一个大小为11的散列表,散列函数为H(key)=key mod 11,采用线性探测冲突解决策略。如果现有散列表中仅有的5个元素均位于下标为奇数的位置,问:该散列表的平均不成功查找次数是多少?
A、6/11
B、1
C、16/11
D、不确定

2、在一个大小为K的空散列表中,按照线性探测冲突解决策略连续插入散列值相同的N个元素(N<K)。问:此时,该散列表的平均成功查找次数是多少?
A、不确定
B、K/N
C、(N+1)/2
D、1

3、当采用线性探测冲突解决策略时,非空且有空闲空间的散列表中无论有多少元素,不成功情况下的期望查找次数总是大于成功情况下的期望查找次数。

学习通数据结构_71

1. 为什么需要学习数据结构?

数据结构是计算机科学中的一个重要概念,它是指存储、组织和管理数据的方式。在计算机科学的各个领域中,数据结构都扮演着重要的角色。例如,算法、编程语言、数据库、网络通信等领域都离不开数据结构的应用。

学习数据结构的目的主要有以下几个方面:

  • 提高程序的效率。良好的数据结构可以使程序更加高效地运行。
  • 提高程序的可读性和可维护性。合理的数据结构可以使程序更加易于理解和修改。
  • 扩展算法的应用范围。许多经典的算法都是基于某种数据结构的,学习数据结构可以扩展算法的应用范围。

2. 常见的数据结构类型

常见的数据结构类型包括:

  • 数组。数组是一种线性数据结构,它可以存储多个相同类型的元素。
  • 链表。链表也是一种线性数据结构,它的每个元素包含一个指向下一个元素的指针。
  • 栈。栈是一种后进先出的数据结构,它只允许在栈顶进行插入和删除操作。
  • 队列。队列是一种先进先出的数据结构,它允许在队尾进行插入操作,在队头进行删除操作。
  • 树。树是一种非线性数据结构,它由节点和边组成,每个节点可以有多个子节点。
  • 图。图也是一种非线性数据结构,它由节点和边组成,每个节点可以与其他节点相连。

3. 常见的数据结构算法

常见的数据结构算法包括:

  • 排序算法。排序算法是对一组数据按照一定的规则进行排列的算法,常见的排序算法包括冒泡排序、选择排序、插入排序、归并排序、快速排序等。
  • 搜索算法。搜索算法是在一个数据集合中查找某个元素的算法,常见的搜索算法包括线性搜索、二分搜索、哈希表搜索等。
  • 图算法。图算法是在图数据结构上进行的算法,常见的图算法包括最短路径算法、最小生成树算法、拓扑排序算法等。
  • 字符串算法。字符串算法是对字符串进行处理的算法,常见的字符串算法包括暴力匹配算法、KMP算法、Boyer-Moore算法等。

4. 如何学习数据结构?

学习数据结构需要具备一定的编程基础,同时需要具备持续学习的能力。以下是一些学习数据结构的建议:

  • 系统地学习基础知识。首先需要掌握数据结构的基本概念、分类、常见算法等。
  • 理论结合实践。理论知识需要通过实际的编程实践进行巩固。
  • 多做例题。多做数据结构相关的例题,不仅可以加深对知识点的理解,还可以提高编程能力。
  • 阅读经典书籍。可以阅读一些经典的数据结构书籍,如《算法导论》、《数据结构与算法分析》等。
  • 参加编程竞赛。可以参加一些编程竞赛,如ACM/ICPC,这可以锻炼编程能力,也可以加深对数据结构的理解。

5. 总结

学习数据结构是计算机科学中不可或缺的一部分。通过学习数据结构,可以提高程序的效率、可读性和可维护性,扩展算法的应用范围。常见的数据结构类型包括数组、链表、栈、队列、树、图等,常见的数据结构算法包括排序算法、搜索算法、图算法、字符串算法等。学习数据结构需要具备一定的编程基础,理论知识需要结合实践进行巩固,多做例题、阅读经典书籍、参加编程竞赛都是有效的学习方法。

中国大学数据结构_71

数据结构是计算机科学中的重要基础课程,也是计算机科学领域中最重要的一门课程之一。中国大学中的数据结构课程也是备受关注和重视的,其中,中国大学数据结构_71是一门非常具有代表性的课程。

课程内容

中国大学数据结构_71主要涵盖以下内容:

  • 基本概念:数据、数据元素、数据项、数据类型、数据结构、逻辑结构、存储结构等
  • 线性表:顺序表、链表、栈、队列等
  • 树:树的基本概念、二叉树、平衡树、B树等
  • 图:图的基本概念、图的遍历、最小生成树、最短路径等
  • 排序:插入排序、选择排序、归并排序、快速排序等
  • 查找:顺序查找、二分查找、哈希查找等

教学方法

中国大学数据结构_71采用“理论与实践相结合”的教学方法,具体表现在以下方面:

  • 理论教学:讲解课堂内容,介绍数据结构的基本概念和算法思想等
  • 实践教学:编写数据结构相关的程序,实现算法,并进行测试和调试等
  • 作业和实验:布置课后作业和实验项目,巩固学生的理论知识和编程技能
  • 课程设计:要求学生完成一个较为复杂的课程设计项目,提高学生的综合素质和能力水平

教材和参考书籍

中国大学数据结构_71的主要教材是《数据结构(C语言版)》(严蔚敏、吴伟民著),该教材被广泛使用和认可。此外,还有一些参考书籍:

  • 《算法导论》(Thomas H.Cormen等著)
  • 《数据结构与算法分析》(Mark Allen Weiss著)
  • 《剑指Offer》(何海涛著)

考试和评分

中国大学数据结构_71的考试形式一般为闭卷笔试,主要考查学生对数据结构的理解和掌握程度。评分方面,一般按照以下权重进行:

  • 平时成绩:20%
  • 实验成绩:20%
  • 课堂表现:10%
  • 期中考试:25%
  • 期末考试:25%

课程评价与总结

中国大学数据结构_71是一门非常重要的课程,是计算机科学领域中不可或缺的基础课程。该课程的教学方法、教材和评分标准等都非常严谨和规范,旨在提高学生的综合素质和能力水平。

该课程的优点在于:教学内容全面,涵盖了数据结构的基本概念、常用算法和数据结构的实现;教学方法灵活,理论与实践相结合,注重实践能力的培养;教学评价科学,能够全面、客观地评价学生的学业成绩和实践能力。

该课程的缺点在于:教学内容较为繁琐,需要学生具备较强的数学基础和编程能力;评分标准相对严格,学生需要投入大量的时间和精力来完成作业和实验项目。

总体来说,中国大学数据结构_71是一门非常优秀的课程,可以为学生提供一个良好的学习环境和平台,帮助学生全面提高自己的综合素质和能力水平。