中国大学数据结构_76课后答案(mooc2023课后作业答案)

分类: 专升本题库发布于:2024-06-02 11:39:52ė55906次浏览676条评论

中国大学数据结构_76课后答案(mooc2023课后作业答案)

第二周 顺序表(总时长30'44'')

(一)表结构的中国作业基本概念(5'52'')随堂测验

1、线性表是大学答案答案 。
A、数据一个有限序列,结构可以为空
B、课后课后一个有限序列,中国作业不可以为空
C、大学答案答案一个无限序列,数据可以为空
D、结构一个无限序列,课后课后不可以为空

2、中国作业若数组M可存放10个元素,大学答案答案每个元素占4个字节,数据从首地址x开始按顺序连续存放,结构那么,课后课后元素M[8]的起始地址为_____。
A、x+8
B、x+28
C、x+32
D、x+64

(二)顺序表的插入和删除(5'45'')随堂测验

1、对于顺序存储的长度为n的线性表,在第i个位置插入一个元素需要移动____个元素。其中,0≤i<n。
A、n-i
B、n-i+1
C、n-i-1
D、i

2、对于顺序存储的长度为n的线性表,删除第i个元素需要移动____个元素。其中,0≤i<n。
A、n-i
B、n-i+1
C、n-i-1
D、i

3、对于顺序存储的长度为n的线性表,插入、删除一个元素的平均时间复杂度分别是 。
A、O(1) O(n)
B、O(n) O(n)
C、O(1) O(1)
D、O(n) O(1)

(三)顺序表的查找(14'28'')随堂测验

1、顺序查找长度为n的线性表的平均查找长度为_____。
A、n
B、n/2
C、(n+1)/2
D、(n-1)/2

2、对a[12]进行二分查找,在等概率情况下,查找成功的平均查找长度为_____。
A、37/12
B、35/12
C、39/12
D、43/12

3、用二分法对数组a[13]进行查找,若待查元素为x,且a[7]<x<a[8],那么查找路径为(1)____________(用下标序列表示)
A、6,9,7,8
B、6,9,8
C、6,7,8
D、6,10,7,8

第一周 数据结构概述(总时长19'23'')

(一)为什么要学习数据结构(6'33")随堂测验

1、计算机资源管理器中,对文件(夹)的组织用的什么数据结构?
A、表结构
B、树结构
C、图结构
D、散结构

2、数据结构的研究对象包括
A、数据元素的集合
B、元素之间的关系
C、对数据集合进行的运算
D、算法及算法评价

3、数据结构主要研究非数值计算的问题

(二)数据结构的概念(5'42")随堂测验

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、散结构

(三)算法的概念和描述(7'48")随堂测验

1、《The?Art?of?Computer?Programming》的作者是_____
A、Dijkstra
B、Knuth
C、Turing
D、Huffman

2、算法的描述形式包括
A、自然语言
B、流程图
C、类程序设计语言
D、维恩图(Venn)

3、算法的特征包括有穷性、确定性、可行性和输入输出。

4、对算法的描述包括程序形式和描述形式。

5、描述形式是算法的最终形式。

6、流程图是一种程序形式。

(四)算法的评价随堂测验

1、算法的有效性指的是_____
A、时间复杂性和空间复杂性
B、最坏情况和平均情况
C、制作周期与使用时效的关系
D、制作费用与实用价值的关系

2、下列说法不正确的是_____
A、算法的正确性通常需要人工证明
B、只有对所有合法输入数据都正确的算法才是正确的算法
C、经反复调试、长期运行,也不一定能够发现算法中的错误
D、只有经长期运行,从不出错的算法,才是正确的算法

3、算法复杂性记号T(n)、TW(n)和TE(n)分别代表_____
A、准确的、上界和下界
B、常数阶、多项式阶和指数阶
C、有效的、无效的和最优的
D、一般情况、最坏情况和平均情况

4、算法的空间复杂性是算法对存储空间的需求。

5、低价算法一定比高价算法快。

学习通数据结构_76

数据结构是计算机科学中的一个重要分支,它研究数据的存储、组织和管理方式以及对这些数据进行操作的算法。学习通数据结构_76是一门涵盖数据结构的基础理论知识和常用算法的课程,本文将对其内容进行详细介绍。

第一部分:基础知识

在学习通数据结构_76的第一部分中,我们学习了数据结构的基础知识。包括数据的逻辑结构、物理结构以及数据结构的实现方式。

1.1 数据的逻辑结构

数据的逻辑结构指的是数据元素之间的逻辑关系。常用的逻辑结构有线性结构、树形结构、图形结构等。在学习通数据结构_76中,我们重点研究了线性结构和树形结构。

1.1.1 线性结构

线性结构指的是数据元素之间存在一对一的关系,其中的元素称为线性表。线性表的常用实现方式有顺序存储结构和链式存储结构。

1.1.1.1 顺序存储结构

顺序存储结构是将线性表中的元素依次存储在一组地址连续的存储单元中。在学习通数据结构_76中,我们使用数组来实现顺序存储结构。

// 定义顺序表typedef struct {   int *data;  // 存储数据的数组  int length; // 当前长度  int size;   // 最大长度} SeqList;// 初始化顺序表void init(SeqList *L, int size) {   L->data = (int *)malloc(sizeof(int) * size); // 动态分配存储空间  L->length = 0;  L->size = size;}// 插入元素bool insert(SeqList *L, int index, int value) {   if (L->length >= L->size) {     return false; // 线性表已满  }  if (index < 0 || index >L->length) {     return false; // 插入位置错误  }  for (int i = L->length; i >index; i--) {     L->data[i] = L->data[i - 1]; // 元素后移  }  L->data[index] = value; // 插入元素  L->length++; // 长度加1  return true;}// 删除元素bool delete(SeqList *L, int index) {   if (index < 0 || index >= L->length) {     return false; // 删除位置错误  }  for (int i = index; i < L->length - 1; i++) {     L->data[i] = L->data[i + 1]; // 元素前移  }  L->length--; // 长度减1  return true;}// 查找元素int search(SeqList *L, int value) {   for (int i = 0; i < L->length; i++) {     if (L->data[i] == value) {       return i; // 返回元素下标    }  }  return -1; // 元素不存在}
1.1.1.2 链式存储结构

链式存储结构是将线性表中的元素存储在不同的存储单元中,通过指针来表示元素之间的逻辑关系。在学习通数据结构_76中,我们使用链表来实现链式存储结构。

// 定义链表节点typedef struct Node {   int data;       // 数据域  struct Node *next; // 指针域} Node;// 定义链表typedef struct {   Node *head; // 头节点  int length; // 当前长度} LinkedList;// 初始化链表void init(LinkedList *L) {   L->head = (Node *)malloc(sizeof(Node)); // 创建头节点  L->head->next = NULL; // 头节点的指针域为空  L->length = 0;}// 插入元素bool insert(LinkedList *L, int index, int value) {   Node *p = L->head; // 指向头节点  int i = 0;  while (p != NULL && i < index) {     p = p->next; // 找到插入位置    i++;  }  if (p == NULL || i >index) {     return false; // 插入位置错误  }  Node *node = (Node *)malloc(sizeof(Node)); // 创建新节点  node->data = value;  node->next = p->next; // 插入节点  p->next = node;  L->length++; // 长度加1  return true;}// 删除元素bool delete(LinkedList *L, int index) {   Node *p = L->head; // 指向头节点  int i = 0;  while (p != NULL && i < index) {     p = p->next; // 找到删除位置    i++;  }  if (p == NULL || p->next == NULL) {     return false; // 删除位置错误  }  Node *node = p->next; // 删除节点  p->next = node->next;  free(node);  L->length--; // 长度减1  return true;}// 查找元素int search(LinkedList *L, int value) {   Node *p = L->head->next; // 指向第一个节点  while (p != NULL) {     if (p->data == value) {       return i; // 返回元素下标    }    p = p->next;    i++;  }  return -1; // 元素不存在}

1.1.2 树形结构

树形结构指的是数据元素之间存在一对多的关系,其中的元素称为节点。树的常用实现方式有双亲表示法、孩子表示法、孩子兄弟表示法等。

1.1.2.1 双亲表示法

双亲表示法是将每个节点的双亲节点存储下来,以数组的形式存储整棵树。在学习通数据结构_76中,我们使用数组来实现双亲表示法。

// 定义树节点typedef struct {   int data; // 数据域  int parent; // 双亲节点下标} TreeNode;// 定义树typedef struct {   TreeNode *nodes; // 存储节点的数组  int length; // 节点数} Tree;// 初始化树void init(Tree *T, int size) {   T->nodes = (TreeNode *)malloc(sizeof(TreeNode) * size); // 动态分配存储空间  T->length = 0;}// 插入节点bool insert(Tree *T, int index, int value) {   if (T->length >= T->size) {     return false; // 树已满  }  if (index < 0 || index >= T->length) {     return false; // 插入位置错误  }  TreeNode node = {  value, index }; // 创建节点  T->nodes[T->length] = node; // 插入节点  T->length++; // 节点数加1  return true;}// 删除节点bool delete(Tree *T, int index) {   if (index < 0 || index >= T->length) {     return false; // 删除位置错误  }  for (int i = index; i < T->length - 1; i++) {     T->nodes[i] = T->nodes[i + 1]; // 节点前移  }  T->length--; // 节点数减1  return true;}// 查找节点int search(Tree *T, int value) {   for (int i = 0; i < T->length; i++) {     if (T->nodes[i].data == value) {       return i; // 返回节点下标    }  }  return -1; // 节点不存在}
1.1.2.2 孩子表示法

孩子表示法是将每个节点的孩子节点存储下来,以链表的形式存储整棵树。在学习通数据结构_76中,我们使用链表来实现孩子表示法。

// 定义树节点typedef struct ChildNode {   int child; // 孩子节点下标  struct ChildNode *next; // 指向下一个孩子节点的指针} ChildNode;typedef struct {   int data; // 数据域  ChildNode *children; // 孩子节点链表} TreeNode;// 定义树typedef struct {   TreeNode *nodes; // 存储节点的数组  int length; // 节点数} Tree;// 初始化树void init(Tree *T, int size) {   T->nodes = (TreeNode *)malloc(sizeof(TreeNode) * size); // 动态分配存储空间  T->length = 0;}// 插入节点bool insert(Tree *T, int index, int value) {   if (T->length >= T->size) {     return false; // 树已满  }  if (index < 0 || index >= T->length) {     return false; // 插入位置错误  }  ChildNode *children = (ChildNode *)malloc(sizeof(ChildNode)); // 创建孩子节点链表  children->child = T->length; // 孩子节点下标为当前节点数  children->next = NULL;  TreeNode node = {  value, children }; // 创建节点  T->nodes[T->length] = node; // 插入节点  T->length++; // 节点数加1  return true;}// 删除节点bool delete(Tree *T, int index) {   if (index < 0 || index >= T->length) {     return false; // 删除位置错误  }  TreeNode *node = &T->nodes[index]; // 指向要删除的节点  ChildNode *p = node->children; // 指向孩子节点链表  while (p != NULL) {     delete(T, p->child); // 递归删除孩子节点    p = p->next;  }  for (int i = index; i < T->length - 1; i++) {     T->nodes[i] = T->nodes[i + 1]; // 节点前移  }  T->length--; // 节点数减1  return true;}// 查找节点int search(Tree *T, int value) {   for (int i = 0; i < T->length; i++) {     if (T->nodes[i].data == value) {       return i; // 返回节点下标    }  }  return -1; // 节点不存在}

1.2 数据的物理结构

数据的物理结构指的是数据元素在计算机中的存储方式。常用的物理结构有顺序存储结构和链式存储结构。

1.2.1 顺序存储结构

顺序存储结构是将数据元素依次存储在一组地址连续的存储单元中,可以直接访问任意一个元素。在学习通数据结构_76中,我们使用数组来实现顺序存储结构。

1.2.2 链式存储结构

链式存储结构是将数据元素存储在不同的存储单元中,通过指针来表示元素之间的逻辑关系,不能直接访问任意一个元素。在学习通数据结构_76中,我们使用链表来实现链式存储结构。

1.3 数据结构的实现方式

数据结构的实现方式是指通过具体的编程语言来实现数据结构的逻辑结构和物理结构。常用的实现方式有静态实现和动态实现。

1.3.1 静态实现

静态实现指的是在程序编译时就确定了数据结构的大小和存储空间,无法动态扩展。在学习通数据结构_76中,静态实现的例子包括数组和链表。

1.3.2 动态实现

动态实现指的是在程序运行时根据需要动态分配存储空间,可以灵活扩展数据结构。在学习通数据结构_76中,动态实现的例子包括树和图。

第二部分:常用算法

在学习通数据结构_76的第二部分中,我们学习了数据结构的常用算法,包括排序算法、查找算法、图算法等。

2.1 排序算法

排序是将一组无序的数据按照一定的规则进行排列的过程。常用的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序等。

2.1.1 冒泡排序

冒泡排序是将相邻的数据元素进行比较,通过交换相邻元素的位置来达到排序的目的。

void bubbleSort(int *data, int length) {   for (int i = 0; i < length - 1; i++) {  // 外层循环控制比较轮数    for (int j = 0; j < length - 1 - i; j++) {  // 内层循环控制每轮比较次数      if (data[j] >data[j + 1]) {  // 如果前一个元素大于后一个元素,交换它们的位置        int temp = data[j];        data[j] = data[j + 1];        data[j + 1] = temp;      }    }  }}

2.1.2 选择排序

选择排序是在未排序的数据元素中选出最小的元素,放到已排序的最后面。

void selectionSort(int *data, int length) {   for (int i = 0; i < length - 1; i++) {  // 外层循环控制排序轮数    int minIndex = i; // 最小元素的下标    for (int j = i + 1; j < length; j++) {  // 内层循环找到最小元素的下标      if (data[minIndex] >data[j]) {         minIndex = j;      }    }    if (minIndex != i) {  // 将最小元素放到已排序的最后面      int temp = data[i];      data[i] = data[minIndex];      data[minIndex] = temp;    }  }}

2.1.3 插入排序

插入排序是将一个未排序的元素插入到已排序的元素中

RAM,存放的内容可随时供

A.资本主义工资是劳动的价值或价格的转化形式。
B.主量子数n是决定电子能量高低的主要因素。()
C.右脑倾向于逻辑思维,用语言文字思考,而左脑则倾向于艺术思维,用图像视觉进行思考。
D.被誉为抵得一篇尚书的鼎是那一尊


四川长虹电器股份有限公司董事长召开董事会议

A.弹词以弦索伴奏,琵琶和二胡是其主要伴奏乐器。
B.如果一个经济体的GDP增长,那么一定是 的情况。
C.在特定审计风险水平下,检查风险与重大错报风险之间的关系是( )。
D.以下不属于相关成本开支范围的成本是


交直流电压线圈电磁机构其衔铁动作不会引起线圈电流的变化。

A.阳偏盛所致的证候是( )
B.计算机之所以能实现自动连续运算,是由于采用了()原理。
C.( )是指以同等数量的消耗,获得相对较高的利益,或以相对低的消耗,获得同等的效益
D.组成局域网的网络硬件主要有( )等。


光照强度大导致温度上升,蒸发加快,这是由于生态因子的( )。

A.4种疟原虫的生活史基本相同,需要的宿主是
B.购销合同印花税的税率是()
C.下列四组选项中,均不是C语言关键字的选项是 。
D.背越式跳高中,4—6步弧线节奏跑练习可以培养运动员弧线助跑姿势和节奏


以下一般采用数量金额式账页的是( )

A.“法于阴阳,和于术数”这个名言出自
B.在PCB中放置铜箔走线时,应尽量采用哪种拐角模式走线
C.在四川师范大学经济与管理学院,二三四年级的班导师由专业课任课教师担任。( )
D.预期成果主要用来说明项目研究后,结项时的成果形式,下列属于预期成果的是( )。


碳纤维比头发还轻软,所以机械性能差。

A.心经属于般若经,般若的意思是
B.快速成型制造技术是集()等为一体的新技术。
C.在新产品销量的负反馈系统中,销售速度=市场渗透率*市场潜量。
D.PVNS好发于膝关节,可形成弥漫性结节样滑膜炎,具有一定的侵蚀性


( )是由形态,构造,生活习性和身体机能相似的种群构成的。

A.智猪博弈的均衡结果是( )。
B.静定结构在荷载作用下的位移与
C.以下关于VB语言的说法中,错误的是( )。
D.( )是利用间接测定溶液的蒸汽压降低,来测定溶质分子量的方法。


反力互等定理仅适用于超静定结构,不适用于静定结构。 ( )

A.人际关系的影响因素中相对稳定的因素是:
B.评价媒介是否产生了传播效果时,应注意()等问题。
C.详细设计的任务是确定每个模块的( )。
D.下列木材含水率测量方法中,可以不分解木材获得含水率分布的是()。


炖法是将新鲜动物原料放入( )里。

A.压杆临界力的大小,( )。
B.所有的花材都可以用微波压花器成功压制。
C.C语言属于( )
D.昆虫可作为食品的原因是( )


马克思开始反思黑格尔法哲学思想是在

A.面部危险三角区的疖挤压时可引起( )
B.()不属于课程中提到的清朝时期广东流行的绘画风格。
C.橡皮章雕刻完成后,需要盖上印台着色。
D.下面关于选题的表述中,正确的有( )。


今天,( )是大势所趋、大义所在、民心所向。

A.液压滑阀按滑阀在阀体内的工作位置数和阀体对外连接的通路数可分为( )。
B.下列情形中,选择的基准恰当的有( )
C.被徐霞客称为“奇点”的“酥饼油丝”是( )。
D.朱砂每次用量,一般都控制在0.5g克以下。


我们为什么要穿衣服()_

A.主要以展现大环境和气势为主,人物在画面中只占很小的比例的景别是( )
B.在城的起源假说中,“地利说”是用( )等地理条件来解释城市的产生和发展的。
C.软件系统需求包括哪些方面
D.黑盒测试在设计测试用例时,主要需要研究()


阿里东南部地区靠近喜马拉雅山脉,海拔较高温度较低,不适宜农业发展。()

A.课堂教学中常用的结课类型有哪些( )
B.蒙顶黄芽属湿坯闷黄,君山银针属干坯闷黄
C.桂花的果是 、成熟时 色
D.我院在实验室建设教学平台包括三个中心,下面( )不属于。


能量自由度为5的分子是哪种分子

A.幼儿难以理解反话的含义,是因为幼儿理解事物具有( )
B.补充的隐含前提要合适,要考虑标准包括不多余。
C.材料在自然状态下,单位体积的质量称为( )。
D.We reserve the right to cancel



Ɣ回顶部