电大《数据结构》(本科)形成性考核册答案(作业1-4)
电大数据结构(本)形成性考核册(作业1-4)

数据结构(本)形成性考核作业册使用说明本作业册是中央广播电视大学计算机科与技术专业(本科)数据结构(本)课程形成性考核的依据,与《数据结构(本科)》教材(李伟生主编,中央电大出版社出版)配套使用。
数据结构(本)课程是中央广播电视大学计算机科学技术专业的一门统设必修、学位课程,4学分,共72学时。
其中实验24学时,开设一学期。
本课程的特点是综合性、实践性强,内容抽象,在专业中具有承上启下的作用。
因此,在学习本课程时,要注意理论联系实际,结合教学内容进行上机实践,认真完成作业和实验内容。
本课程的总成绩按百分制记分,其中形成性考核所占的比例为30%,终结性考试占70%(闭卷,答题时限为90分钟)。
课程总成绩达到60分及以上者为合格,可以获得该课程的学分。
本课程的学位课程学分为70分,即课程总成绩达到70分及以上者有资格申请专业学位。
本课程共设计了4次形考作业,每次形考作业均包括实验内容,由各地电大根据学生对作业中各种题型练习和实验的完成情况进行考核。
对于实验内容要求按实验要求认真完成,并提交实验报告。
数据结构(本)课程作业作业1(本部分作业覆盖教材第1-2章的内容)一、单项选择题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.数据结构是一门研究计算机中()对象及其关系的科学。
02272《数据结构》国开形考任务(1-4)试题答案集

02272《数据结构》国开形考任务(1-4)试题答案集任务1:数据结构基础1. 数据结构是指数据元素之间的关系和操作的组织方式。
它包括数据的逻辑结构、数据的存储结构以及对数据的操作等内容。
2. 数据结构的逻辑结构包括线性结构、树形结构、图形结构等。
3. 数据结构的存储结构包括顺序存储结构和链式存储结构。
4. 数据结构的操作包括插入、删除、查找、修改等。
5. 数据结构的选择应根据具体应用需求来确定,需要考虑数据的规模、操作的效率、存储空间的利用等因素。
任务2:线性表1. 线性表是一种最基本的数据结构,它包括顺序表和链表两种存储结构。
2. 顺序表是用一段连续的存储空间存储线性表的元素,可以通过下标直接访问元素。
顺序表的插入和删除操作需要移动其他元素,效率较低。
3. 链表是通过节点之间的指针来连接元素的,可以实现灵活的插入和删除操作。
链表的缺点是访问元素需要从头节点开始遍历,效率较低。
4. 单链表是最简单的链表结构,每个节点包含数据和指向下一个节点的指针。
5. 双链表在单链表的基础上增加了一个指向前一个节点的指针,可以实现双向遍历。
任务3:树和二叉树1. 树是一种非线性的数据结构,它包括节点和边组成。
节点之间存在一对多的关系。
2. 二叉树是一种特殊的树结构,每个节点最多有两个子节点。
3. 二叉树的遍历方式包括前序遍历、中序遍历和后序遍历。
4. 前序遍历先访问根节点,然后依次访问左子树和右子树。
5. 中序遍历先访问左子树,然后访问根节点,最后访问右子树。
6. 后序遍历先访问左子树,然后访问右子树,最后访问根节点。
任务4:图的表示和遍历1. 图是一种由节点和边组成的数据结构,节点之间存在多对多的关系。
2. 图的表示方式有邻接矩阵和邻接表两种。
3. 邻接矩阵是一个二维数组,用于表示节点之间的连接关系。
4. 邻接表是由链表构成的数组,每个节点的链表存储与其相邻的节点。
5. 图的遍历方式包括深度优先搜索和广度优先搜索。
国开电大数据结构(本)形考4

标准答案1:以顺序存储方式,且数据元素有序
标准答案2:(n+1)/2
标准答案3:29/10
标准答案4:5
标准答案5:37,24,12,30,53,45,96
标准答案6:4
标准答案7:直接选择排序
标准答案8:插入排序
标准答案9:归并排序
标准答案10:交换排序
标准答案11:快速排序
标准答案12:40,20,30,38,46,56,79,84,90,110
标准答案13:3
标准答案14:5
标准答案15:选择
标准答案16:18,20,25,59,26,36
标准答案17:16,25,35,48,23,40,79,82,36,72 标准答案18:28,16,34,54,62,73,60,26,43,95 标准答案19:40,38,46,56,79,84
标准答案20:39,46,41,57,80,47
标准答案21:{NULL} {k} {p=p->left} {p=p->right} {p}
标准答案22:{n} {(s+j)/2} {j=m-1} {s=m+1} {a[k+1]}
标准答案23:子问题1:C; 子问题2:B
标准答案24:子问题1:B; 子问题2:A
标准答案25:子问题1:C; 子问题2:D
标准答案26:子问题1:D; 子问题2:A
标准答案27:子问题1:C; 子问题2:D。
国开02272《数据结构》形成性考核(1-4)试题及解答

国开02272《数据结构》形成性考核(1-4)试题及解答1. 选择题问题 1.1:在数据结构中,以下哪种结构是最基本的数据结构?- A. 栈- B. 队列- C. 树- D. 图解答 1.1:正确答案是 A. 栈。
栈是一种后进先出(LIFO)的数据结构,它是通过在一端进行插入和删除操作来实现的。
问题 1.2:在二叉树中,一个节点的最大孩子数目是?- A. 1- B. 2- C. 3- D. 无穷大解答 1.2:正确答案是 B. 2。
在二叉树中,每个节点最多有两个子节点,即左子节点和右子节点。
2. 填空题问题 2.1:在线性表中,如果一个元素在表中的位置是 i,那么它之前有 i - 1 个元素。
_____解答 2.1:正确答案是 "正确"。
在线性表中,如果一个元素在表中的位置是 i,那么它之前有 i - 1 个元素,因为它是从位置 1 开始计数的。
问题2.2:在_____结构中,删除操作的平均时间复杂度是O(n)。
_____解答 2.2:正确答案是 "链表" 和 "O(n)"。
在链表结构中,删除操作的平均时间复杂度是 O(n),因为需要找到要删除的元素的前一个元素来进行删除操作。
3. 简答题问题 3.1:请解释什么是深度优先搜索(DFS)算法,并给出一个应用场景。
解答 3.1:深度优先搜索(DFS)是一种用于遍历或搜索树或图的算法。
它从根节点开始,沿着树的深度遍历树的节点,尽可能深地搜索树的分支。
当节点v的所有边都已被探寻过,搜索将回溯到发现节点v的那条边的起始节点。
它适用于解决迷宫问题、求解最大子矩阵问题等。
问题 3.2:请解释什么是堆,并给出两种类型的堆。
解答 3.2:堆是一种特殊的完全二叉树,用于实现优先队列。
堆分为两种类型:最大堆和最小堆。
- 最大堆:在一个最大堆中,每个节点的值都大于或等于其子节点的值。
最大堆的根节点具有最大值。
数据结构形成性考核册第1次作业参考答案

《数据结构》形成性考核册第1次作业参考答案第一章绪论一、填空题1、数据操作2、集合结构线性结构树型结构图形结构3、引用类型4、1:1 1:n n:m5、不对6、多个7、O(m*n)8、时间复杂度空间复杂度9、顺序链接索引散列10、O(n2)11、O(n)12、O(n)O(m*n)二、选择题1~8:DBABADDD三、应用题(1)功能:判断n是否是一个素数,若是则返回数值1,否则返回0。
时间复杂度:O(n)。
(2)功能:计算S=1!+2!+…+n!的值。
时间复杂度:O(n)。
(3)功能:计算S=1!+2!+…+n!的值。
时间复杂度:O(n2)。
(4)求出满足不等式1+2+…+i≥n的最小i值。
O(n)。
第二章线性表四、填空题1、A[P-1]2、1083、前驱后继4、最后一个表头5、p->next=q->nextq->next=p6、HL->next=NULLHL->next=HL7、P->next8、Q->next9、P->next s10、从前向后前移n-i11、O(1)O(n)12、(n+1)/213、O(n)O(1)14、A[P].next15、a[j].next=a[i].nexta[i].next=j16、数据值指针五、选择题1~5:BDDBC六、应用题1、(1)、(79,62,34,57,26,48)(2)、(26,34,48,57,62,79)(3)、(48,56,57,62,79,34)(4)、(56,57,79,34)(5)、(26,34,39,48,57,62)2、(1)将类型为List的线性表L中第i个元素移至表尾位置的算法,L中的元素类型为ElemType,假定不需要对i的值进行有效性检查。
void move (List& L, int i){ElemType x=L.list[ i-1];for(int j=i; j<L.size; j++)L.list[ j-1]=L.list[ j ];L.list[L.size-1]=x;}·将线性表L中的第i个元素移入表头的算法与上类似。
国开电大数据结构(本)形考作业4参考答案

国开电大数据结构(本)形考作业4参考答案1.对于二分查找,要求线性表必须以顺序存储方式,并且数据元素有序。
2.在采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为(n+1)/2.3.对于一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为29/10.4.已知一个有序表为{11,22,33,44,55,66,77,88,99},则顺序查找元素55需要比较5次。
5.对于数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉排序树,若希望高度最小,应该选择的序列是37,24,12,30,53,45,96.6.对于顺序存储的有序表{5,12,20,26,37,42,46,50,64},若采用折半查找,则查找元素26的比较次数是4次。
7.在所有的排序方法中,关键字比较的次数与记录初始排列秩序无关的是直接选择排序。
8.插入排序是一种将未排序序列中的元素依次取出与已经排好序的序列中的元素作比较,将其放入已排序序列的正确位置上的排序方法。
9.归并排序是一种依次将每两个相邻的有序表合并成一个有序表的排序方法。
10.交换排序是一种当两个元素出现逆序的时候就交换位置的排序方法。
if(kkey)p=p->left;elseif(k>p->key)p=p->right;elsereturn (p);return (NULL);答案】:(NULL),(p->key)题目26.1) 对关键字序列(36,69,46,28,30,74)采用快速排序,以第一个关键字为分割元素,经过一次划分后的结果序列为正确答案:C。
28,30,46,36,69,74改写后:对关键字序列(36,69,46,28,30,74)进行快速排序,以第一个关键字36为分割元素,经过一次划分后的结果序列为28,30,46,36,69,74.2) 用冒泡法对上述序列排序,经两趟冒泡的结果序列为正确答案:A。
电大数据结构(本)形成性考核册(作业-4)

数据结构(本)形成性考核作业册使用说明本作业册是中央广播电视大学计算机科与技术专业(本科)数据结构(本)课程形成性考核的依据,与《数据结构(本科)》教材(李伟生主编,中央电大出版社出版)配套使用。
数据结构(本)课程是中央广播电视大学计算机科学技术专业的一门统设必修、学位课程,4学分,共72学时。
其中实验24学时,开设一学期。
本课程的特点是综合性、实践性强,内容抽象,在专业中具有承上启下的作用。
因此,在学习本课程时,要注意理论联系实际,结合教学内容进行上机实践,认真完成作业和实验内容。
本课程的总成绩按百分制记分,其中形成性考核所占的比例为30%,终结性考试占70%(闭卷,答题时限为90分钟)。
课程总成绩达到60分及以上者为合格,可以获得该课程的学分。
本课程的学位课程学分为70分,即课程总成绩达到70分及以上者有资格申请专业学位。
本课程共设计了4次形考作业,每次形考作业均包括实验内容,由各地电大根据学生对作业中各种题型练习和实验的完成情况进行考核。
对于实验内容要求按实验要求认真完成,并提交实验报告。
数据结构(本)课程作业作业1(本部分作业覆盖教材第1-2章的内容)一、单项选择题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.数据结构是一门研究计算机中()对象及其关系的科学。
国家开放大学《数据结构(本)》形考作业1-4参考答案

国家开放大学《数据结构(本)》形考作业1-4参考答案形考作业1一、单项选择题(每小题3分,共60分)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.下列的叙述中,不属于算法特性的是()。
A. 可读性B. 输入性C. 可行性D. 有穷性8.算法的时间复杂度与()有关。
A. 算法本身B. 计算机的操作系统C. 数据结构D. 所使用的计算机9.设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为()。
A. n-i+1B. n-i-1C. n-iD. i10.设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为()。
A. iB. n-iC. n-i-1D. n-i+111.在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。
A. p->next=q->nextB. p=q->nextC. p->next=qD. q->next=NULL12.在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。
国开电大数据结构(本)形考1

准答案1:物理结构
标准答案2:数据项可由若干个数据元素构成
标准答案3:数据元素
标准答案4:逻辑结构
标准答案5:逻辑上相邻的元素在物理位置上也相邻
标准答案6:不能随机访问任一结点
标准答案7:可读性
标准答案8:算法本身
标准答案9:n-i+1
标准答案10:n-i
标准答案11:p->next=q->next
标准答案12:s->next=p->next; p->next=s;
标准答案13:p->next==head
标准答案14:可随机访问任一元素
标准答案15:head->next==NULL
标准答案16:20
标准答案17:除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继
标准答案18:63.5
标准答案19:100
标准答案20:q->next=p
标准答案21:对
标准答案22:错
标准答案23:错
标准答案24:错
标准答案25:错
标准答案26:错
标准答案27:错
标准答案28:对
标准答案29:对
标准答案30:对
标准答案31:错
标准答案32:对
标准答案33:对
标准答案34:对
标准答案35:{p->data} {p=p->next} {p!=NULL}
标准答案36:{q->next!=NULL} {p=p->next} {q->next=s}。
数据结构(本)形考作业答案

形考作业一题目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正确获得2.00分中的2.00分A. 研究算法中的输入和输出的关系B. 分析算法的易懂性和文档性C. 分析算法的效率以求改进D. 找出数据结构的合理性题目7算法指的是()。
选择一项:A. 排序方法B. 解决问题的计算方法C. 计算机程序D. 解决问题的有限运算序列题目8算法的时间复杂度与()有关。
选择一项:A. 所使用的计算机B. 数据结构C. 算法本身D. 计算机的操作系统题目9设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为()。
选择一项:A. n-i+1B. n-i-1C. n-iD. i题目10设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为()。
选择一项:A. n-iB. n-i-1C. n-i+1D. i题目11在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。
选择一项:A. p->next=q->nextB. p=q->nextC. q->next=NULLD. p->next=q题目12在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。
最新 数据结构 形成性考核答案(本)作业1-4

数据结构(本)形成性考核作业答案作业1一、单项选择题1.C 2.D 3.B 4.C 5.D 6.C 7.B 8.C 9.A 10.B11.C 12.D 13.C 14.A 15.B 16.C 17.C 18.B 19.B 20.D二、填空题1.n-i+12.n-i3.集合线性结构树形结构图状结构4.物理结构存储结构5.线性结构非线性结构6.有穷性确定性可形性有零个或多个输入有零个或多个输出7.图状结构8.树形结构9.线性结构10. n-1 O(n)11.s->next=p->next;12.head13.q->next=p->next;14.p->next=head;15.单链表16.顺序存储链式存储17.存储结构18.两个直接后继直接前驱尾结点头结点19.头结点的指针指向第一个结点的指针20.链式链表三、问答题1.简述数据的逻辑结构和存储结构的区别与联系,它们如何影响算法的设计与实现?答:若用结点表示某个数据元素,则结点与结点之间的逻辑关系就称为数据的逻辑结构。
数据在计算机中的存储表示称为数据的存储结构。
可见,数据的逻辑结构是反映数据之间的固有关系,而数据的存储结构是数据在计算机中的存储表示。
尽管因采用的存储结构不同,逻辑上相邻的结点,其物理地址未必相同,但可通过结点的内部信息,找到其相邻的结点,从而保留了逻辑结构的特点。
采用的存储结构不同,对数据的操作在灵活性,算法复杂度等方面差别较大。
2.解释顺序存储结构和链式存储结构的特点,并比较顺序存储结构和链式存储结构的优缺点。
答:顺序结构存储时,相邻数据元素的存放地址也相邻,即逻辑结构和存储结构是统一的,,要求内存中存储单元的地址必须是连续的。
优点:一般情况下,存储密度大,存储空间利用率高。
缺点:(1)在做插入和删除操作时,需移动大量元素;(2)由于难以估计,必须预先分配较大的空间,链式结构存储时,相邻数据元素可随意存放,所占空间分为两部分,一部分存放结点值,另一部分存放表示结点间关系的指针。
电大数据结构形考任务1参考答案

数据结构(本)形考任务1参考答案一、单项选择题(每小题3分,共60分)题目1把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为()。
C. 物理结构题目2下列说法中,不正确的是()。
A. 数据项可由若干个数据元素构成题目3一个存储结点存储一个()。
A. 数据元素题目4数据结构中,与所使用的计算机无关的是数据的()。
C. 逻辑结构题目5在线性表的顺序结构中,以下说法正确的是()。
C. 逻辑上相邻的元素在物理位置上也相邻题目6对链表, 以下叙述中正确的是()。
C. 不能随机访问任一结点题目7下列的叙述中,不属于算法特性的是()。
D. 可读性题目8算法的时间复杂度与()有关。
D. 算法本身题目9设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为()。
A. n-i+1题目10设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为()。
D. n-i题目11在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。
B. p->next=q->next题目12在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。
D. s->next=p->next; p->next=s;题目13非空的单向循环链表的尾结点满足()(设头指针为head,指针p指向尾结点)。
A. p->next==head题目14链表不具有的特点是()。
A. 可随机访问任一元素题目15带头结点的链表为空的判断条件是()(设头指针为head)。
A. head->next==NULL题目16在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。
则原顺序表的长度为()。
D. 20题目17有关线性表的正确说法是()。
D. 除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继题目18向一个有127个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动()个元素。
数据结构(本)形成性考核作业1

数据结构(本)形成性考核作业(一)分校名称:学号:姓名:成绩:日期:数据结构(本)课程作业作业1(本部分作业覆盖教材第1-2章的内容)一、单项选择题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.下列的叙述中,不属于算法特性的是()。
A.有穷性B.输入性C.可行性D.可读性8.算法分析的目的是()。
A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性9.数据结构是一门研究计算机中()对象及其关系的科学。
A.数值运算B.非数值运算C.集合D.非集合10.算法的时间复杂度与()有关。
A.所使用的计算机B.与计算机的操作系统C.与算法本身D.与数据结构11.把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为()。
A.逻辑结构B.物理结构C.算法的具体实现D.给相关变量分配存储单元12.设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),则移动元素个数为()。
A.n-i+1 B.n-i C.n-i-1 D.i13.设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为()。
《数据结构》国开02272形考任务(1-4)试题与答案汇总

《数据结构》国开02272形考任务(1-4)试题与答案汇总一、选择题(每题5分,共20分)1. 数据的逻辑结构就是数据的(A)A. 元素之间的关系B. 物理结构C. 元素的值D. 元素的数量2. 线性表的存储结构有(D)A. 顺序存储和链式存储B. 顺序存储和索引存储C. 链式存储和散列存储D. 顺序存储、链式存储和索引存储3. 下面哪个不是线性表的运算(C)A. 插入B. 删除C. 排序D. 查找4. 在长度为n的线性表中,删除第i个元素(i从1开始),需要移动(A)A. n-i个元素B. i个元素C. n个元素D. 0个元素答案:AADB二、填空题(每题5分,共20分)1. 长度为n的线性表,其元素一共有n个。
2. 线性表的顺序存储结构是利用一组地址连续的存储单元依次存储线性表的元素。
3. 在线性表中,删除第i个元素后,从第i个元素到表尾的所有元素都向前移动一个位置。
4. 栈是一种特殊的线性表,只允许在表的一端进行插入和删除操作。
答案:略三、判断题(每题5分,共20分)1. 线性表是一种最基本的数据结构,它的特点是数据元素之间是一对一的关系。
(正确)2. 顺序存储结构的特点是存取方便,但插入和删除操作需要移动大量元素。
(正确)3. 链式存储结构的特点是不需要连续的存储空间,但插入和删除操作需要修改指针。
(正确)4. 栈和队列都是线性结构,但栈的操作是后进先出,而队列的操作是先进先出。
(正确)答案:略四、简答题(每题10分,共40分)1. 简述线性表的顺序存储结构的特点。
(10分)顺序存储结构是利用一组地址连续的存储单元依次存储线性表的元素。
其特点是存取方便,时间复杂度为O(1)。
但插入和删除操作需要移动大量元素,时间复杂度为O(n)。
2. 简述线性表的链式存储结构的特点。
(10分)链式存储结构是由一系列结点组成的线性序列,每个结点包含数据域和指针域。
其特点是无需连续的存储空间,插入和删除操作只需修改指针,时间复杂度为O(1)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电大数据结构(本)考核作业答案作业1一、单项选择题1.C 2.D 3.B 4.C 5.D 6.C 7.B 8.C 9.A 10.B11.C 12.D 13.C 14.A 15.B 16.C 17.C 18.B 19.B 20.D二、填空题1.n-i+12.n-i3.集合线性结构树形结构图状结构4.物理结构存储结构5.线性结构非线性结构6.有穷性确定性可形性有零个或多个输入有零个或多个输出7.图状结构8.树形结构9.线性结构10.n-1 O(n)11.s->next=p->next;12.head13.q->next=p->next;14.p->next=head;15.单链表16.顺序存储链式存储17.存储结构18.两个直接后继直接前驱尾结点头结点19.头结点的指针指向第一个结点的指针20.链式链表三、问答题1.简述数据的逻辑结构和存储结构的区别与联系,它们如何影响算法的设计与实现?答:若用结点表示某个数据元素,则结点与结点之间的逻辑关系就称为数据的逻辑结构。
数据在计算机中的存储表示称为数据的存储结构。
可见,数据的逻辑结构是反映数据之间的固有关系,而数据的存储结构是数据在计算机中的存储表示。
尽管因采用的存储结构不同,逻辑上相邻的结点,其物理地址未必相同,但可通过结点的内部信息,找到其相邻的结点,从而保留了逻辑结构的特点。
采用的存储结构不同,对数据的操作在灵活性,算法复杂度等方面差别较大。
2.解释顺序存储结构和链式存储结构的特点,并比较顺序存储结构和链式存储结构的优缺点。
答:顺序结构存储时,相邻数据元素的存放地址也相邻,即逻辑结构和存储结构是统一的,,要求内存中存储单元的地址必须是连续的。
优点:一般情况下,存储密度大,存储空间利用率高。
缺点:(1)在做插入和删除操作时,需移动大量元素;(2)由于难以估计,必须预先分配较大的空间,往往使存储空间不能得到充分利用;(3)表的容量难以扩充。
链式结构存储时,相邻数据元素可随意存放,所占空间分为两部分,一部分存放结点值,另一部分存放表示结点间关系的指针。
优点:插入和删除元素时很方便,使用灵活。
缺点:存储密度小,存储空间利用率低。
3.什么情况下用顺序表比链表好?答:顺序表适于做查找这样的静态操作,链表适于做插入和删除这样的动态操作。
如果线性表的变化长度变化不大,且其主要操作是查找,则采用顺序表;如果线性表的长度变化较大,且其主要操作是插入、删除操作,则采用链表。
4.解释头结点、第一个结点(或称首元结点)、头指针这三个概念的区别?答:头结点是在链表的开始结点之前附加的一个结点;第一个结点(或称首元结点)是链表中存储第一个数据元素的结点;头指针是指向链表中第一个结点(或为头结点或为首元结点)的指针。
5.解释带头结点的单链表和不带头结点的单链表的区别。
答:带头结点的单链表和不带头结点的单链表的区别主要体现在其结构上和算法操作上。
在结构上,带头结点的单链表,不管链表是否为空,均含有一个头结点,不带头结点的单链表不含头结点。
在操作上,带头结点的单链表的初始化为申请一个头结点。
无论插入或删除的位置是地第一个结点还是其他结点,算法步骤都相同。
不带头结点的单链表,其算法步骤要分别考虑插入或删除的位置是第一个结点还是其他结点。
因为两种情况的算法步骤不同。
四、程序填空题1.(1)p->data=i(2)p->next=NULL(3)q->next=p(4)q=p2.(1)head=p(2)q=p(3)p->next=NULL(4)p->next=q->next(5)q->next=p3.(1)p=q->next(2)q->next=p->next五、完成:实验1――线性表根据实验要求(见教材P201-202)认真完成本实验,并提交实验报告。
作业2答案(本部分作业覆盖教材第3-5章的内容)一、单项选择题1.C 2.B 3.A 4.C 5.B 6.A 7.B 8.C 9.A 10.C11.B 12.C 13.B 14.B 15.A 16.C 17.B 18.A 19.C 20.D21.B 22.D 23.C 24.B 25.D 26.A 27.C 28.D 29.D 30.C 31.A 32.D二、填空题1.后进先出2.下一个3.增1 增14.假上溢5.栈是否满s->top=MAXSIZE-1 栈顶指针栈顶对应的数组元素栈是否空s->top=-1 栈顶元素修改栈顶指针6.bceda7.终止条件递归部分8.LU->front==LU->rear9.运算符操作数ab+c/fde/--10.s->next=h;11.h=h->next;12.r->next=s;13.f=f->next;14.字符15.顺序存储方式链式存储方式16.0 空格字符的个数17.特殊稀疏18.()(())219.((d,e,f))20.串长度相等且对应位置的字符相等21.i(i-1)/2+j22.行下标、列下标、非零元素值三、问答题1.简述栈和一般线性表的区别。
答:栈是一种先进后出的线性表,栈的插入和删除操作都只能在栈顶进行,而一般的线性表可以在线性表的任何位置进行插入和删除操作。
2.简述队列和一般线性表的区别。
队列是一种先进先出的线性表,队列的插入只能在队尾进行,队列的删除只能在队头进行,而一般的线性表可以在线性表的任何位置进行插入和删除操作。
3.链栈中为何不设头结点?答:因为链栈只在链头插入和删除结点,不可能在链表中间插入和删除结点,算法实现很简单,所以一般不设置头结点。
4.利用一个栈,则:(1)如果输入序列由A,B,C组成,试给出全部可能的输出序列和不可能的输出序列。
(2)如果输入序列由A,B,C,D组成,试给出全部可能的输出序列和不可能的输出序列。
答:(1)栈的操作特点是后进先出,因此输出序列有:A入,A出,B入,B出,C入C出,输出序列为ABC。
A入,A出,B入,C入,C出,B出,输出序列为ACB。
A入,B入,B出,A出,C入,C出,输出序列为BAC。
A入,B入,B出,C入,C出,A出,输出序列为BCA。
A入,B入,C入,C出,B出,A出,输出序列为CBA。
由A,B,C组成的数据项,除上述五个不同的组合外,还有一个C,A,B组合。
但不可能先把C出栈,再把A出栈,(A不在栈顶位置),最后把B出栈,所以序列CAB不可能由输入序列A,B,C 通过栈得到。
(2)按照上述方法,可能的输出序列有:ABCD,ABDC,ACBD,ACDB,ADCB,BACD,BADC,BCAD,BCDA,BDCA,CBAD,CBDA,CDBA,DCBA。
不可能的输出序列有:DABC,ADBC,DACB,DBAC,BDAC,DBCA,DCAB,CDAB,CADB,CABD5.用S表示入栈操作,X表示出栈操作,若元素入栈顺序为1234,为了得到1342出栈顺序,相应的S和X操作串是什么?答:应是SXSSXSXX。
各操作结果如下:S 1入栈X 1出栈输出序列:1S 2入栈S 3入栈X 3出栈输出序列:13S 4入栈X 4出栈输出序列:134X 2出栈输出序列:13426.有5个元素,其入栈次序为:A、B、C、D、E,在各种可能的出栈次序中,以元素C、D最先的次序有哪几个?答:从题中可知,要使C第一个且D第二个出栈,应是A入栈,B入栈,C入栈,C出栈,D入栈。
之后可以有以下几种情况:(1)B出栈,A出栈,E入栈,E出栈,输出序列为:CDBAE。
(2)B出栈,E入栈,E出栈,A 出栈,输出序列为CDBEA。
(3)E入栈,E出栈,B出栈,A出栈,输出序列为CDEBA所以可能的次序有:CDBAE,CDBEA,CDEBA7.写出以下运算式的后缀算术运算式⑴3x2+x-1/x+5⑵(A+B)*C-D/(E+F)+G答;对应的后缀算术运算式⑴ 3x2^*x+1x/-5+⑵ AB+C*DEF+/-G+8.简述广义表和线性表的区别和联系。
答:广义表是线性表的的推广,它也是n(n>0)个元素a1,a2…a i…a n的有限序列,其中a i或者是原子或者是一个广义表。
所以,广义表是一种递归数据结构,而线性表没有这种特性,线性表可以看成广义表的特殊情况,当a i都是原子时,广义表退化成线性表。
四、程序填空题1.(1)q->front->next=p->next;(2)free(p);(3)q->rear=q->front五、综合题1.答:出队序列是e2,e4,e3,e6,e5,e1的过程:⑴ e1入栈(栈底到栈顶元素是e1)⑵ e2入栈(栈底到栈顶元素是e1,e2)⑶ e2出栈(栈底到栈顶元素是e1)⑷ e3入栈(栈底到栈顶元素是e1,e3)⑸ e4入栈(栈底到栈顶元素是e1,e3,e4)⑹ e4出栈(栈底到栈顶元素是e1,e3)⑺ e3出栈(栈底到栈顶元素是e1)⑻ e5入栈(栈底到栈顶元素是e1,e5)⑼ e6入栈(栈底到栈顶元素是e1,e5,e6)⑽ e6出栈(栈底到栈顶元素是e1,e5)⑾ e5出栈(栈底到栈顶元素是e1)⑿ e1出栈(栈底到栈顶元素是空)栈中最多时有3个元素,所以栈S的容量至少是3。
2.算法设计如下:/*只有一个指针rear的链式队的基本操作*/#include <stdio.h>typedef char elemtype;struct node /*定义链队列结点*/{elemtype data;struct node *next;};typedef struct queue /*定义链队列数据类型*/{struct node *rear;} LinkQueue;void initqueue(LinkQueue *Q)/*初始化队列*/{Q=(struct queue *)malloc(sizeof(struct queue));Q->rear=NULL;}void enqueue(LinkQueue *Q,elemtype x) /*入队算法*/{struct node *s,*p;s=(struct node *)malloc(sizeof(struct node));s->data=x;if (Q->rear==NULL) /*原为空队时*/{Q->rear=s;s->next=s;}else /*原队不为空时*/{p=Q->rear->next; /*p指向第一个结点*/Q->rear->next=s; /*将s链接到队尾*/Q->rear=s; /*Q->rear指向队尾*/s->next=p;}}void delqueue(LinkQueue *Q) /*出队算法*/{struct node *t;if (Q->rear==NULL){printf("队列为空!\n");return(0);}else if (Q->rear->next==Q->rear) /*只有一个结点时*/{t=Q->rear;Q->rear=NULL;}else /*有多个结点时*/{t=Q->rear->next; /*t指向第一个结点*/Q->rear->next=t->next; /*引成循环链*/}free(t);}elemtype gethead(LinkQueue *Q) /*取队首元素算法*/{if (Q->rear==NULL)printf("队列为空!\n");elsereturn(Q->rear->next->data);}int emptyqueue(LinkQueue *Q) /*判断队列是否为空算法*/{if (Q->rear==NULL) return(1); /*为空,则返回true*/ else return(0); /*不为空,则返回flase*/ }void dispqueue(LinkQueue *Q) /*显示队列中元素算法*/ {struct node *p=Q->rear->next; printf("队列元素:"); while (p!=Q->rear) { printf("%c ",p->data); p=p->next; }printf("%c\n",p->data); }六、完成:实验2――栈、队列、递归程序设计根据实验要求(见教材P 203)认真完成本实验,并提交实验报告。