大工16秋《数据结构》在线作业2满分标准答案

合集下载

北京大学2016年秋季学期《数据结构》课程作业【答案】

北京大学2016年秋季学期《数据结构》课程作业【答案】

章)
a9
b 10
c 11
d 12
18. 深度为 6(根的层次为 1)的二叉树至多有_____B_____结点(第五章)
a.64
b.63
c.31
d.32
19.二叉树的第 k 层的结点数最多为______D______。(第五章)
k
a. 2 -1
b. 2K+1
c. 2K-1
k-1
d. 2
20.如果一棵二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条
c 线性表中任何一个元素有且仅有一个直接后继
d 以上说法都不正确
6.在含有 n 个结点的顺序存储的线性表中,在任一位置插入一个结点所需移动结点的
平均次数为__C____(第二章)
a.n
b.(n-1)/2
c.n/2
d.(n+1)/2
第1页 共 10 页
7.链表不具备的特点是_____D_______。(第二章)
int sum=0;
for(i=0; i<m;i++)
for(j=i;j<n;j++)
s++;
a. O(m+n)
b. O(n*n)
c. O(m*n)
d. O(m*logn)
5. 下列有关线性表的叙述中,正确的是___A_____。(第二章)
a 一个线性表是 n 个数据元素的有限序列
b 线性表中任何一个元素有且仅有一个直接前驱
5.向一个长度为 n 的顺序表中的第 i 个元素(1≤i≤n)之后插入一个元素时,需向后移
动__ N-i+1___个元素。(第二章)
6.当线性表的元素总数不固定,且很少随机存取表中元素,但插入和删除操作较多时,

数据结构课后习题详解超完整超经典

数据结构课后习题详解超完整超经典

第1章 绪论1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。

解:数据是对客观事物的符号表示。

在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。

数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。

数据对象是性质相同的数据元素的集合,是数据的一个子集。

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

存储结构是数据结构在计算机中的表示。

数据类型是一个值的集合和定义在这个值集上的一组操作的总称。

抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。

是对一般数据类型的扩展。

1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。

解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。

一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。

抽象数据类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。

在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。

1.3 设有数据结构(D,R),其中{}4,3,2,1d d d d D =,{}r R =,()()(){}4,3,3,2,2,1d d d d d d r =试按图论中图的画法惯例画出其逻辑结构图。

解:1.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。

解:ADT Complex{ 数据对象:D={r,i|r,i 为实数} 数据关系:R={<r,i>} 基本操作: InitComplex(&C,re,im)操作结果:构造一个复数C ,其实部和虚部分别为re 和im DestroyCmoplex(&C)操作结果:销毁复数C Get(C,k,&e) 操作结果:用e 返回复数C 的第k 元的值 Put(&C,k,e) 操作结果:改变复数C 的第k 元的值为eIsAscending(C)操作结果:如果复数C 的两个元素按升序排列,则返回1,否则返回0IsDescending(C)操作结果:如果复数C的两个元素按降序排列,则返回1,否则返回0 Max(C,&e)操作结果:用e返回复数C的两个元素中值较大的一个Min(C,&e)操作结果:用e返回复数C的两个元素中值较小的一个}ADT ComplexADT RationalNumber{数据对象:D={s,m|s,m为自然数,且m不为0}数据关系:R={<s,m>}基本操作:InitRationalNumber(&R,s,m)操作结果:构造一个有理数R,其分子和分母分别为s和mDestroyRationalNumber(&R)操作结果:销毁有理数RGet(R,k,&e)操作结果:用e返回有理数R的第k元的值Put(&R,k,e)操作结果:改变有理数R的第k元的值为eIsAscending(R)操作结果:若有理数R的两个元素按升序排列,则返回1,否则返回0 IsDescending(R)操作结果:若有理数R的两个元素按降序排列,则返回1,否则返回0 Max(R,&e)操作结果:用e返回有理数R的两个元素中值较大的一个Min(R,&e)操作结果:用e返回有理数R的两个元素中值较小的一个}ADT RationalNumber1.5 试画出与下列程序段等价的框图。

数据结构课后习题标准答案

数据结构课后习题标准答案

数据结构习题集答案第1章绪论1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。

解:数据是对客观事物的符号表示。

在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。

数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。

数据对象是性质相同的数据元素的集合,是数据的一个子集。

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

存储结构是数据结构在计算机中的表示。

数据类型是一个值的集合和定义在这个值集上的一组操作的总称。

抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。

是对一般数据类型的扩展。

1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。

解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。

一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。

抽象数据类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。

在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。

1.3 设有数据结构(D,R),其中{}4,3,2,1d d d d D =,{}r R =,()()(){}4,3,3,2,2,1d d d d d d r =试按图论中图的画法惯例画出其逻辑结构图。

解:1.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。

解:ADT Complex{数据对象:D={r,i|r,i 为实数}数据关系:R={<r,i>}基本操作:InitComplex(&C,re,im)操作结果:构造一个复数C ,其实部和虚部分别为re和imDestroyCmoplex(&C)操作结果:销毁复数CGet(C,k,&e)操作结果:用e返回复数C的第k元的值Put(&C,k,e)操作结果:改变复数C的第k元的值为eIsAscending(C)操作结果:如果复数C的两个元素按升序排列,则返回1,否则返回0IsDescending(C)操作结果:如果复数C的两个元素按降序排列,则返回1,否则返回0Max(C,&e)操作结果:用e返回复数C的两个元素中值较大的一个Min(C,&e)操作结果:用e返回复数C的两个元素中值较小的一个}ADT ComplexADT RationalNumber{数据对象:D={s,m|s,m为自然数,且m不为0}数据关系:R={<s,m>}基本操作:InitRationalNumber(&R,s,m)操作结果:构造一个有理数R,其分子和分母分别为s和m DestroyRationalNumber(&R)操作结果:销毁有理数RGet(R,k,&e)操作结果:用e返回有理数R的第k元的值Put(&R,k,e)操作结果:改变有理数R的第k元的值为eIsAscending(R)操作结果:若有理数R的两个元素按升序排列,则返回1,否则返回0IsDescending(R)操作结果:若有理数R的两个元素按降序排列,则返回1,否则返回0Max(R,&e)操作结果:用e返回有理数R的两个元素中值较大的一个Min(R,&e)操作结果:用e返回有理数R的两个元素中值较小的一个}ADT RationalNumber1.5 试画出与下列程序段等价的框图。

电子科技16秋《数据结构》在线作业2 辅导资料

电子科技16秋《数据结构》在线作业2 辅导资料

16秋《数据结构》在线作业2一、单选题(共 16 道试题,共 48 分。

)1. 在具有n个结点的有序单链表中插入一个新结点并使链表仍然有序的时间复杂度是()。

. O(1). O(n). O(n㏒n). O(n2)正确答案:2. 若线性表的插入和删除操作频繁地在表头或表尾位置进行,则更适宜采用的存储结构为()。

. 无头结点的双向链表. 带尾指针的循环链表. 无头结点的单链表. 带头指针的循环链表正确答案:3. 已知函数Su(s,i,j)的功能是返回串s中从第i个字符起长度为j的子串,函数Sopy(s,t)的功能为复制串t到s。

若字符串S=″SINSTUY″,则调用函数Sopy(P,Su(S,1,7))后得到()。

. P=″SIN″. P=″STUY″. S=″SIN″. S=″STUY″正确答案:4. 在头指针为h的非空单循环链表中,指针p指向尾结点,下列关系成立的是()。

. p->nxt==h. p->nxt->nxt==h. p->nxt==NULL. p==h正确答案:5. 高度为5的完全二叉树中含有的结点数至少为()。

. 16. 17. 31. 32正确答案:6. 在线性表的下列运算中,不改变数据元素之间结构关系的运算是()。

. 插入. 删除. 排序. 定位正确答案:7. 在头指针为h且表长大于1的单循环链表中,指针p指向表中某个结点,若p->nxt->nxt= h,则()。

. p指向头结点. p指向尾结点. *p的直接后继是头结点. *P的直接后继是尾结点正确答案:8. 若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为()。

. 3,2,6,1,4,5. 3,4,2,1,6,5. 1,2,5,3,4,6. 5,6,4,2,3,1正确答案:9. 已知在一棵度为3的树中,度为2的结点数为4,度为3的结点数为3,则该树中的叶子结点数为()。

数据结构习题答案 .doc

数据结构习题答案 .doc

单元练习1一.判断题(下列各题,正确的请在前面的括号内打√;错误的打╳)(√)(1)数据的逻辑结构与数据元素本身的内容和形式无关。

(√)(2)一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。

(ㄨ)(3)数据元素是数据的最小单位。

(ㄨ)(4)数据的逻辑结构和数据的存储结构是相同的。

(ㄨ)(5)程序和算法原则上没有区别,所以在讨论数据结构时可以通用。

(√)(6)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。

(√)(7)数据的存储结构是数据的逻辑结构的存储映像。

|(√)(8)数据的物理结构是指数据在计算机内实际的存储形式。

(ㄨ)(9)数据的逻辑结构是依赖于计算机的。

(√)(10)算法是对解题方法和步骤的描述。

二.填空题(1)数据有逻辑结构和存储结构两种结构。

(2)数据逻辑结构除了集合以外,还包括:线性结构、树形结构和图形结构。

(3)数据结构按逻辑结构可分为两大类,它们是线性结构和非线性结构。

(4)树形结构和图形结构合称为非线性结构。

(5)在树形结构中,除了树根结点以外,其余每个结点只有 1 个前趋结点。

(6)>(7)在图形结构中,每个结点的前趋结点数和后续结点数可以任意多个。

(8)数据的存储结构又叫物理结构。

(9)数据的存储结构形式包括:顺序存储、链式存储、索引存储和散列存储。

(10)线性结构中的元素之间存在一对一的关系。

(11)树形结构结构中的元素之间存在一对多的关系,(12)图形结构的元素之间存在多对多的关系。

(13)数据结构主要研究数据的逻辑结构、存储结构和算法(或运算)三个方面的内容。

(14)数据结构被定义为(D,R),其中D是数据的有限集合,R是D上的关系的有限集合。

(15)算法是一个有穷指令的集合。

(16)算法效率的度量可以分为事先估算法和事后统计法。

(17)!(18)一个算法的时间复杂性是算法输入规模的函数。

(19)算法的空间复杂度是指该算法所耗费的存储空间,它是该算法求解问题规模n 的函数。

最新版2016年秋国家开放大学《数据结构(本)》期末练习2满分答案

最新版2016年秋国家开放大学《数据结构(本)》期末练习2满分答案

2016秋国家开放大学《数据结构(本)》期末练习2一、单项选择题1.下面关于线性表的叙述错误的是()。

A.线性表采用顺序存储必须占用一片连续的存储空间B.线性表采用链式存储不必占用一片连续的存储空间C.线性表采用顺序存储便于插入和删除操作的实现D.线性表采用链式存储便于插入和删除操作的实现2.设有头指针为head的不带头结点的非空的单向循环链表,指针p指向其尾结点,要删除第一个结点,则可利用下述语句head=head->next;和()。

A.p=head;B.p=NULL;C.head=p;D.p->next=head;3.以下数据结构中是非线性结构的是()。

A.队列B.栈C.二叉树D.线性表4.以下说法正确的是()。

A.线性表的链式存储结构必须占用连续的存储空间B.一种逻辑结构可以有不同的存储结构C.一种逻辑结构只能有唯一的存储结构D.线性表的顺序存储结构不必占用连续的存储空间5.设有一个长度为18的顺序表,要删除第7个元素需移动元素的个数为()。

A.13B.12C.11D.106.把数据存储到计算机中,并具体体现()称为物理结构。

A.数据的处理方法B.数据的性质C.数据的运算D.数据元素间的逻辑关系7.两个字符串相等的充要条件是()。

A.两个字符串的长度相等B.同时具备(A)和(C)两个条件C.两个字符串中对应位置上的字符相等D.以上答案都不对8.顺序表所具备的特点之一是()。

A.可以随机访问任一结点B.不需要占用连续的存储空间C.插入元素的操作不需要移动元素D.删除元素的操作不需要移动元素9.设某链表中最常用的操作是在链表的尾部插入或删除元素,在已知尾指针的条件下,选用下列()存储方式最节省运算时间。

A.单向链表B.单向循环链表C.双向链表D.双向循环链表10.图状结构中数据元素的位置之间存在()的关系。

A.一对一B.一对多C.多对多D.每一个元素都有一个直接前驱和一个直接后继11.元素13,15,19,20顺序依次进栈,则该栈的不可能输出序列是()。

大工16春《数据结构》开卷考试复习资料

大工16春《数据结构》开卷考试复习资料

机密★启用前大连理工大学网络教育学院2016年9月《数据结构》课程期末复习资料☆注意事项:本复习题满分共:400分。

一、单项选择题(本大题共65小题,每小题3分,共195分)1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。

(A).正确性 (B). 可行性 (C). 健壮性 (D). 输入性2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。

for(i=n-1;i>=0;i--)for(j=0;j<i;j++) S;(A).n2 (B). O(nlgn) (C). O(n) (D). O(n2)3.折半查找法适用于()。

(A)、有序顺序表(B)、有序单链表(C)、有序顺序表和有序单链表都可以(D)、无限制4.顺序存储结构的优势是()。

(A)、利于插入操作(B)、利于删除操作(C)、利于顺序访问(D)、利于随机访问5.深度为k的完全二叉树,其叶子结点必在第()层上。

(A)、k-1 (B)、k (C)、k-1和k (D)、1至k 6.具有60个结点的二叉树,其叶子结点有12个,则度为1的结点数为()(A)、11 (B)、13 (C)、48 (D)、377.下列程序段的时间复杂度为()。

for(i=0; i<m; i++) for(j=0; j<t; j++) c[i][j]=0;for(i=0;i<m;i++) for(j=0;j<t;j++) for(k=0;k<n;k++) c[i][j]=c[i][j]+a[i][k]*b[k][j];(A) O(m*n*t) (B) O(m+n+t) (C) O(m+n*t) (D) O(m*t+n) 8.设顺序线性表中有n个数据元素,则删除表中第i个元素需要移动()个元素。

(A) n-i (B) n+1 -i (C) n-1-i (D) i9.设F是由T1、T2和T3三棵树组成的森林,与F对应的二叉树为B,T1、T2和T3的结点数分别为N1、N2和N3,则二叉树B的根结点的左子树的结点数为()。

数据结构作业二答案

数据结构作业二答案

作业二栈和队列一、填空题(每空1分,共15分)1. 栈是一种特殊的线性表,允许插入和删除运算的一端称为栈顶。

不允许插入和删除运算的一端称为栈底。

2. 队列是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。

只能在队尾插入和队首删除元素。

3. 在具有n个单元的循环队列中,队满时共有n-1个元素。

4. 向栈中压入元素的操作是先移动栈顶指针,后存入元素。

5. 从循环队列中删除一个元素时,其操作是先移动队首指针,后取出元素。

二、判断正误(判断下列概念的正确性,并作出简要的说明。

)(每小题1分,共10分)(×)1. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。

错,线性表是逻辑结构概念,可以顺序存储或链式存储,与元素数据类型无关。

(√)2. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。

(√)3. 对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。

正确,都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。

(×) 4. 栈和链表是两种不同的数据结构。

错,栈是逻辑结构的概念,是特殊殊线性表,而链表是存储结构概念,二者不是同类项。

(×) 5. 栈和队列是一种非线性数据结构。

错,他们都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。

(√)6. 栈和队列的存储方式既可是顺序方式,也可是链接方式。

(√)7. 两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。

(×)8. 队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。

错,后半句不对。

(×)9. 一个栈的输入序列是12345,则栈的输出序列不可能是12345。

错,有可能。

三、单项选择题(每小题1分,共20分)(B)1.栈中元素的进出原则是A.先进先出B.后进先出C.栈空则进D.栈满则出(C)2.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为A.i B.n=i C.n-i+1 D.不确定解释:当p1=n,即n是最先出栈的,根据栈的原理,n必定是最后入栈的(事实上题目已经表明了),那么输入顺序必定是1,2,3,…,n,则出栈的序列是n,…,3,2,1。

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

大工16秋《数据结构》在线作业2
1:若一棵二叉树的先序遍历序列为abdgcefh,中序遍历的序列为dgbaechf,则后序遍历的结果为()。

A:gdbehfca
B:bdgaechf
C:gdbecfha
D:gcefhabd
正确答案:A
2:具有3个结点的二叉树可能有()种不同的形态。

A:3
B:4
C:5
D:6
正确答案:C
3:若一棵二叉树的后序遍历序列为dabec,中序遍历序列为debac,则先序遍历序列为()。

A:cbeda
B:decab
C:deabc
D:cedba
正确答案:D
4:()方法可以判断出一个有向图中是否有环(回路)。

A:深度优先遍历
B:拓扑排序
C:求最短路径
D:求关键路径
正确答案:B
5:深度为k的完全二叉树,其叶子结点必在第()层上。

A:k-1
B:1
C:k
D:k-1或k
正确答案:D
6:Huffman树的带权路径长度WPL等于()。

A:除根结点之外的所有结点权值之和
B:所有结点权值之和
C:根结点的值
D:各叶子结点的带权路径长度之和
正确答案:D
7:具有N个结点的完全二叉树的深度是()。

A:log2N
B:log2N +1
C:log2(2N)
D:log2N -1
正确答案:B
8:设有8个结点的无向图,该图至少应有()条边才能确保是一个连通图。

A:5
B:6
C:7
D:8
正确答案:C
9:任何一棵二叉树的叶结点在先序、中序、后序遍历序列中的相对次序()。

A:发生改变
B:不发生改变
C:不能确定
D:以上都不对
正确答案:B
10:一棵完全二叉树上有1001个结点,其中叶子结点的个数是()。

A:250
B:254
C:501
D:505
正确答案:C
11:在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。

A:错误
B:正确
正确答案:A
12:中缀表达式A+(B-C/D)*E的后缀形式是ABCD/-E*+。

A:错误
B:正确
正确答案:B
13:度为2的有序树是二叉树。

A:错误
B:正确
正确答案:A
14:若已知一棵二叉树的前序遍历序列和后序遍历序列,可以恢复该二叉树。

A:错误
B:正确
正确答案:A
15:出栈操作的时间复杂度为O(n)。

A:错误
B:正确
正确答案:A
16:设树根为第1层,在一棵二叉树上第6层的结点数最多为32。

A:错误
B:正确
正确答案:B
17:在用顺序表表示的循环队列中,可用标志位来区分队空或队满的条件。

A:错误
B:正确
正确答案:B
18:哈夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。

A:错误
B:正确
正确答案:B
19:二叉树的左右子树次序是严格的,不能够任意改变。

A:错误
B:正确
正确答案:B
20:具有m个结点的二叉排序树有多种,其中树高最小的二叉排序树是最佳的。

A:错误
B:正确
正确答案:B。

相关文档
最新文档