东大15春学期《数据结构Ⅱ》在线作业2答案

合集下载

《数据结构》课后习题答案(第2版)

《数据结构》课后习题答案(第2版)

《数据结构》课后习题答案(第2版)数据结构课后习题答案(第2版)第一章:基本概念1. 什么是数据结构?数据结构是指数据元素之间的关系,以及相应的操作。

它研究如何组织、存储和管理数据,以及如何进行高效的数据操作。

2. 数据结构的分类有哪些?数据结构可以分为线性结构和非线性结构。

线性结构包括数组、链表、栈和队列;非线性结构包括树和图。

3. 什么是算法?算法是解决特定问题的一系列有序步骤。

它描述了如何输入数据、处理数据,并产生期望的输出结果。

4. 算法的特性有哪些?算法具有确定性、有限性、输入、输出和可行性这五个特性。

5. 数据结构和算法之间的关系是什么?数据结构是算法的基础,算法操作的对象是数据结构。

第二章:线性表1. 顺序表的两种实现方式是什么?顺序表可以通过静态分配或动态分配的方式实现。

静态分配使用数组,动态分配使用指针和动态内存分配。

2. 单链表的特点是什么?单链表由节点组成,每个节点包含数据和一个指向下一个节点的指针。

它的插入和删除操作效率高,但是查找效率较低。

3. 循环链表和双向链表分别是什么?循环链表是一种特殊的单链表,在尾节点的指针指向头节点。

双向链表每个节点都有一个指向前一个节点和后一个节点的指针。

4. 链表和顺序表的区别是什么?链表的插入和删除操作效率更高,但是查找操作效率较低;顺序表的插入和删除操作效率较低,但是查找操作效率较高。

第三章:栈和队列1. 栈是什么?栈是一种特殊的线性表,只能在表的一端进行插入和删除操作。

后进先出(LIFO)是栈的特点。

2. 队列是什么?队列是一种特殊的线性表,只能在表的一端进行插入操作,在另一端进行删除操作。

先进先出(FIFO)是队列的特点。

3. 栈和队列的应用有哪些?栈和队列在计算机科学中有广泛的应用,例如浏览器的前进后退功能使用了栈,操作系统的进程调度使用了队列。

4. 栈和队列有哪些实现方式?栈和队列可以使用数组或链表来实现,还有更为复杂的如双端队列和优先队列。

数据结构第2章习题参考答案

数据结构第2章习题参考答案

数据结构第2章习题参考答案1. 简答题1.1 什么是数据结构?数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,它包括数据的逻辑结构和物理结构。

1.2 数据结构的分类有哪些?数据结构可以分为线性结构和非线性结构。

线性结构包括线性表、栈、队列和串;非线性结构包括树和图。

1.3 数据结构的逻辑结构有哪些?数据结构的逻辑结构包括线性结构、树形结构和图形结构。

1.4 数据结构的物理结构有哪些?数据结构的物理结构包括顺序存储结构和链式存储结构。

1.5 什么是算法?算法是指求解问题的具体步骤和方法。

1.6 算法的特性有哪些?算法应具有有穷性、确定性、可行性和输入输出性。

2. 选择题2.1 在栈的顺序存储结构中,栈的存储位置是:A. 自顶向下递增B. 自底向上递增C. 自底向上递减D. 自顶向下递减答案:D2.2 下列哪个数据结构不适合表示有父子关系的数据?A. 二叉树B. 图C. 链表D. 堆答案:D2.3 对于一棵完全二叉树,叶子节点的个数为n,则树中节点的总数为:A. 2nB. 2n + 1C. nD. n + 1答案:A2.4 假设有一个长度为10的栈,初始时栈为空,若对该栈连续执行5次入栈操作,然后执行4次出栈操作,最后执行1次入栈操作,则栈中剩余的元素个数为:A. 0B. 1C. 4D. 6答案:D3. 编程题3.1 实现一个栈数据结构的基本操作,包括入栈、出栈、获取栈顶元素和判断栈是否为空。

```Pythonclass Stack:def __init__(self):self.items = []def is_empty(self):return len(self.items) == 0def push(self, item):self.items.append(item)def pop(self):if self.is_empty():return Nonereturn self.items.pop()def peek(self):if self.is_empty():return Nonereturn self.items[-1]```3.2 实现一个队列数据结构的基本操作,包括入队、出队、获取队首元素和判断队列是否为空。

数据结构第二次作业答案

数据结构第二次作业答案

数据结构第二次作业答案一、单项选择题1. C2. B3. A4. A5. D6. A7. D 8. C 9. D 10. C 11. D 12. C 13. A二、填空题1. 存储2. 先进先出3. 栈顶指针4. 队尾5. 一6. 局部变量7. 表尾8. 重数9. 3 10. 6 11. 6 12. 2h+1-1三、判断题1. 错2. 对3. 对4. 对5. 错6. 对7. 对8. 错9. 错四、运算题1.叶子结点数: 5单分支结点数:3两分支结点数:2三分支结点数:12.元素 34 56 58 63 94比较次数 2 1 3 4 43.左子树为空的所有单支结点:15,23,42,44右子树为空的所有单支结点:304.插入时造成不平衡的结点个数:45.结点 a b c d e出度 1 1 2 1 2入度 2 2 1 1 16.(1) 1,3,4,6,5,2 (3分)(2) 1,3,2,4,5,6 (3分)五、算法分析题1.利用"栈"作为辅助存储,将队列中的元素逆置(即相反次序放置)。

2.(1) q = q->lLink(2) return 1(3) return 03.1→21→32→34.(1) return PT(2) (PT=ParentPtr(BT->right,BT,X))(3) return NULL 或return 0六、算法设计题1.float poly(float x, float A[], int n) { if(!n) return A[0];else return x*poly(x, A, n-1)+A[n];}2.int BTreeHeight(BinTreeNode* BT){if(BT==NULL)//对于空树,返回-1并结束递归return –1;else{//计算左子树的高度int h1=BTreeHeight(BT->left); //计算右子树的高度int h2=BTreeHeight(BT->right); //返回树的高度if(h1>h2) return h1+1;else return h2+1;}}3.int BTreeLeafCount(BinTreeNode* BT){if(BT==NULL) return 0;else if(BT->left==NULL && BT->right==NULL) return 1;else return BTreeLeafCount(BT->left)+BTreeLeafCount(BT->right);}数据结构第三次作业答案一、单项选择题1. D2. A3. B4. C5. C6. A7. B 8. C 9. C 10. A 11. A 12. D 13. C二、填空题1. 2i+12. 最大值3. 20.54. 右子树5. 16. 右单旋转7. 2(n-1)8. 29. n-1 10. 高 11. 直接插入三、判断题1. 错2. 对3. 对4. 对5. 错6. 对7. 错8. 对四、运算题1.(1) 1,5,6,4,3,2(2) 1,5,3,2,6,42.顶点: 0 1 2 3 4 5 6路径长度: 0 16 10 14 25 21 313.拓扑序列:1,3,6,0,2,5,4,74.所有关键活动:<0,1>5,<1,3>10,<3,4>9,<4,5>12关键路径长度:365.(1)归并路数:5 (2)需要归并躺数:2答案解释:(1) 设归并路数为k,初始归并段个数m = 80,根据归并趟数计算公式S = ⎡log k m⎤ = ⎡log k80⎤ = 3得:k3≥80。

数据结构-试卷二及答案

数据结构-试卷二及答案

数据结构-试卷二及答案一、判断(每小题 1 分,共 10 分) 1.数据的存储结构是数据的逻辑结构的存储映象,不仅要存储数据元素的值,还要存储元素之间的相互关系。

2.用顺序表来存储线性表时,不需要另外开辟空间来保存数据元素之间的相互关系。

3.完全二叉树的叶子结点只能出现在最后一层上。

4.折半查找方法要求待查表必须是有序的顺序表。

5.在有向图 G 中, V 2 , V 1 和 V 1 , V 2 是两条不同的边。

6.图的最小生成树是唯一的。

7.从循环单链表的某一结点出发,只能找到它的后继结点,不能找到它的前趋结点。

8.在单链表中,头结点是必不可少的。

9.对快速排序来说,初始序列为正序和反序,都是最坏情况。

10.广义表是特殊的线性表。

二、选择(每题 1 分,共 15 分) 1.设栈 S 和队列 Q 的初始状态均为空,元素 abcdefg 依次进入栈 S 。

若每个元素出栈后立即进入队列 Q ,且 7 个元素出队的顺序是bdcfeag ,则栈 S 的容量至少是()。

A.1 B.2 C.3 D.4 2.下列线索二叉树1/ 8中(用虚线表示线索),符合后序线索树定义的是( )。

3.已知广义表 A= (( a,b ) ,(c,d) ) , 则 head(A) 等于 ( )。

A.(a,b) B.((a,b)) C.a,b D.a 4.设字符串s1=‘ABCDEFG’,s2=‘PQRST’, 则运算s=strcat(strsub(s1,2,strlen(s2)),strsub (s1,strlen(s2),2))后结果为()。

A.BCQR B.BCDEF C.BCDEFG D.BCDEFEF 5.具有 8 个顶点的连通图的深度优先生成树,其边数为()。

A.8 B.9 C.7 D.6 6.算法分析的两个主要方面是()。

A.空间复杂性和时间复杂性 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 7.下列四种排序中()的空间复杂度最大。

奥鹏东北大学 21春学期《数据结构Ⅱ》在线平时作业2 (544).doc

奥鹏东北大学 21春学期《数据结构Ⅱ》在线平时作业2 (544).doc

下列程序段 for(i=1;i<=n;i++) A[I,j]=0; 的时间复杂度是A.O(1)B.O(0)C.O(1n)D.O(n)【参考答案】: D2.以下数据结构中,属于线性结构的是A.广义表B.二叉树C.稀疏矩阵D.串【参考答案】: A3.某二叉树的先序序列和后序序列正好相反,则该二叉树的特点一定是A.空或只有一个结点B.高度等于其结点数C.任一结点无左孩子D.任一结点无右孩子【参考答案】: B在一个单链表中,已知q结点是p结点的前驱结点,若在q 和p之间插入结点s,则执行操作A. s->next=p->next;p->next=s;B. s->next=p; q->next=sC.q->next=s;s->next=p;D.p->next=s;s->next=q;【参考答案】: B5.在以单链表为存储结构的线性表中,数据元素之间的逻辑关系用A. 数据元素的相邻地址表示B. 数据元素在表中的序号表示C.指向后继元素的指针表示D.数据元素的值表示【参考答案】: C已知一个散列表如图所示,其散列函数为H(key)=key%11,采用二次探查法处理冲突,则下一个插入的关键字49的地址为A.2B.3C.8D.9【参考答案】: C7.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为A.1和 5B.2和4C.4和2D.5和1【参考答案】: B8.引入二叉线索树的目的是A.加快查找结点的前驱或后继的速度B.为了能在二叉树中方便的进行插入与删除C.为了能方便的找到双亲D. 使二叉树的遍历结果唯一【参考答案】: A9.下面说法错误的是(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1)B.(1),(2)C.(1),(4)D.(3)【参考答案】: C10.有关二叉树下列说法正确的是A.二叉树的度为2B.一棵二叉树的度可以小于2C.二叉树中至少有一个结点的度为2D.二叉树中任何一个结点的度都为2【参考答案】: B11.按排序过程中依据的原则分类,快速排序属于A.插入类的排序方法B.选择类的排序方法C.交换类的排序方法D.归并类的排序方法【参考答案】: C12.若一棵二叉树有11个叶子结点,则该二叉树中度为2的结点个数是A.10B.11C.12D.15【参考答案】: A13.若在9阶B-树中插入关键字引起结点分裂,则该结点在插入前含有的关键字个数为A.4B.5C.8D.9【参考答案】: C14.对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为A.O(n) O(n)B. O(n) O(1)C.O(1) O(n)D.O(1) O(1)【参考答案】: C15.判断两个串大小的基本准则是A.两个串长度的大小B.两个串中首字符的大小C.两个串中大写字母的多少D.对应的第一个不等字符的大小【参考答案】: D16.已知二叉树的先序序列为ABDECF,中序序列为DBEAFC,则后序序列为A. DEBAFCB.DEFBCAC. DEBCFAD. DEBFCA【参考答案】: B17.在关键字序列(12,23,34,45,56,67,78,89,91)中二分查找关键字为45、89和12的结点时,所需进行的比较次数分别为A. 4,4,3B. 4,3,3C.3,4,4D. .3,3,4【参考答案】: B18.若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的A.层次遍历算法B.前序遍历算法C.中序遍历算法D.后序遍历算法【参考答案】: C19.如果在排序过程中,每次均将一个待排序的记录按关键字大小加入到前面已经有序的子表中的适当位置,则该排序方法称为A.插入排序B.归并排序C.冒泡排序D.堆排序【参考答案】: A20.将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是A.nB.2n-1C.2nD.n-1 【参考答案】: A。

北语15春《数据结构》作业2满分答案

北语15春《数据结构》作业2满分答案

15春《数据结构》作业2一、单选题(共20 道试题,共100 分。

)V1.A. AB. BC. CD. D满分:5 分2.A. AB. BC. CD. D满分:5 分3. 如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用___。

A. 只有表头指针没有表尾指针的循环单链表B. 只有表尾指针没有表头指针的循环单链表C. 非循环双链表D. 循环双链表满分:5 分4. 在长度为n的顺表表的第i个位置上插入一个元素(1≤i≤n+1),元素的移动次数为___。

A. n-i+1B. n-iC. iD. i-1满分:5 分5. 下列四种排序中___的空间复杂度最大。

A. 插入排序B. 冒泡排序C. 堆排序D. 归并排序满分:5 分6. 通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着___。

A. 数据元素具有同一特点B. 不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致C. 每个数据元素都一样D. 数据元素所包含的数据项的个数要相等满分:5 分7. 排序方法中,从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为___。

A. 希尔排序B. 冒泡排序C. 插入排序D. 选择排序满分:5 分8. 算法分析的目的是___。

A. 找出数据结构的合理性B. 研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易读性和文档性满分:5 分9.A. AB. BC. CD. D满分:5 分10. 与单链表相比,双链表的优点之一是___。

A. 插入、删除操作更简单B. 可以进行随机访问C. 可以省略表头指针或表尾指针D. 顺序访问相邻结点更灵活满分:5 分11.A. AB. BC. CD. D满分:5 分12. 在存储数据时,通常不仅要存储各数据元素的值,而且还要存储___。

A. 数据的处理方法B. 数据元素的类型C. 数据元素之间的关系D. 数据的存储方法满分:5 分13.设二维数组A[6][10],每个数组元素占用4个存储单元,若按行优先顺序存放数组元素,a[0][0]的存储地址为860,则a[3][5]的存储地址是___。

数据结构样卷二参考答案

数据结构样卷二参考答案

样卷二参考答案:一简答题1.算法是解决特定问题的操作序列,可以用多种方式描述。

程序是算法在计算机中的实现,与具体的计算机语言有关。

2.主要与哈希函数、装填因子α有关。

如果用哈希函数计算的地址分布均匀,则冲突的可能性较小,如果装填因子α较小,则哈希表较稀疏,发生冲突的可能性较小。

3.图中结点可能有多个前驱,设置访问标志数组主要是为了避免重复访问同一个结点。

4.头指针指向头结点,头结点的后继域指向首元素结点。

5.当队尾到达数组最后一个单元时,就认为队满,但此时数组前面可能还有空单元,因此叫假溢出。

解决的方法是采用循环队列,即令最后一个单元的后继是第一个单元。

二判断题1.(√) 2.(×)3.(×)4.(√) 5.(×)6.(√) 7.(×) 8.(√) 9.(×) 10.(×)三单项选择题1. D 2.B 3.C 4. C 5. B 6. A 7.C 8.D 9. C 10.C 四填空题1. high low low high2. S->next=R->next ; R->next=S ;3.时间空间4. A[2, 3]5. 2h-1五构造题1.(4分)2.(6分)ASL= ( 1×4 + 2×2 + 3 ) / 7 = 11 / 7succ3.(6分)4.(4分)已知权值集合为:{ 5,7,2,3,6,9 },要求给出哈夫曼树,并计算其带权路径长度WPL。

WPL = 2×( 9 + 6 + 7 ) + 3×5 + 4×( 2 + 3 ) = 79六算法分析题解:(1)在二叉排序树中插入关键字为K的结点(2) h = log2 ( n+1 ) 或 h = [ log2n ] + 1 (方括号表示向下取整)(3)O ( log2 ( n+1 ) ) 或 O ( log2n )七算法设计题略。

电子科技大学15春《数据结构》在线作业2满分答案

电子科技大学15春《数据结构》在线作业2满分答案

电子科技大学15春《数据结构》在线作业2满分答案15春《数据结构》在线作业2一,单选题1. 高度为5的完全二叉树中含有的结点数至少为()。

A. 16B. 17C. 31D. 32?正确答案:A2. 二叉树中第5层上的结点个数最多为()。

A. 8B. 15C. 16D. 32?正确答案:C3. 在一个具有n个顶点的有向图中,所有顶点的出度之和为Dout ,则所有顶点的入度之和为()。

A. DoutB. Dout-1C. Dout+1D. n?正确答案:A4. 在以单链表为存储结构的线性表中,数据元素之间的逻辑关系用()。

A. 数据元素的相邻地址表示B. 数据元素在表中的序号表示C. 指向后继元素的指针表示D. 数据元素的值表示?正确答案:C5. 已知栈的最大容量为4。

若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为()。

A. 5,4,3,2,1,6B. 2,3,5,6,1,4C. 3,2,5,4,1,6D. 1,4,6,5,2,3?正确答案:C6. 若算法中语句的最大频度为T(n)=2006n+6n㏒n+29㏒2n,则其时间复杂度为()。

A. O(㏒n)B. O(n)C. O(n㏒n)D. O(㏒2n)?正确答案:C7. 下面程序段的时间复杂度为()。

for (i=0; i11. 判断两个串大小的基本准则是()。

A. 两个串长度的大小B. 两个串中首字符的大小C. 两个串中大写字母的多少D. 对应的第一个不等字符的大小?正确答案:B12. 已知一棵含50个结点的二叉树中只有一个叶子结点,则该树中度为1的结点个数为()。

A. 0B. 1C. 48D. 49?正确答案:D13. 在头指针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p->next->next= head,则()。

A. p指向头结点B. p指向尾结点C. *p的直接后继是头结点D. *P的直接后继是尾结点?正确答案:D14. 与线性表相比,串的插入和删除操作的特点是()。

数据结构作业二答案

数据结构作业二答案

作业二栈和队列一、填空题(每空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。

东南大学2015春学期《数据结构Ⅱ》在线作业1答案

东南大学2015春学期《数据结构Ⅱ》在线作业1答案

东大15春学期《数据结构Ⅱ》在线作业1答案一、单选题(共 20 道试题,共 100 分。

)1.在头指针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p->next->next= head,则A. p指向头结点B. p指向尾结点C. p的直接后继是头结点D. P的直接后继是尾结点正确答案:D2.对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为A. O(n) O(n)B. O(n) O(1)C.O(1) O(n)D.O(1) O(1)正确答案:C3.链栈与顺序栈相比,比较明显的优点是A.插入操作更加方便B.删除操作更加方便C.不会出现下溢的情况D.不会出现上溢的情况正确答案:D4.文件中,主关键字能唯一标识A. 一个记录B. 一组记录C. 一个类型D.一个文件正确答案:A5.数据元素及其关系在计算机存储器内的表示,称为数据的A. 逻辑结构B. 存储结构C.线性结构D.非线性结构正确答案:B6.一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是A. 不确定B. 0C. 1D. 2正确答案:D7.下述哪一条是顺序存储结构的优点A.存储密度大B.插入运算方便C.删除运算方便D.可方便地用于各种逻辑结构的存储表示正确答案:A8.连通网的最小生成树是其所有生成树中A. 顶点集最小的生成树B. 边集最小的生成树C.顶点权值之和最小的生成树D. 边的权值之和最小的生成树正确答案:D9.在图采用邻接表存储时,求最小生成树的 Prim 算法的时间复杂度为A.O(n)B.O(n+e)C.O(n2)D.O(n3)正确答案:B10.下列排序算法中,时间复杂度不受数据初始状态影响,恒为0(nlog2n)的是A.堆排序B.冒泡排序C.直接选择排序D.快速排序正确答案:A11.在关键字序列(12,23,34,45,56,67,78,89,91)中二分查找关键字为45、89和12的结点时,所需进行的比较次数分别为A. 4,4,3B. 4,3,3C.3,4,4D. .3,3,4正确答案:B12.带行表的三元组表是稀疏矩阵的一种A. 顺序存储结构B. 链式存储结构C.。

吉大15春学期《数据结构》在线作业二答案

吉大15春学期《数据结构》在线作业二答案

奥鹏吉大15春学期《数据结构》在线作业二标准答案
一、单选题(共10 道试题,共40 分。


1. 在数据结构中,逻辑上数据结构可分为:()
A. 动态结构和静态结构
B. 线性结构和非线性结构
C. 紧凑结构和非紧凑结构
D. 内部结构和外部结构
正确答案:B
2. 在具有n个单元的循环队列中,队满共有_______个元素。

A. n
B. n-1
C. n+1
D. n+2
正确答案:B
3. 在排序过程中,键值比较的次数与初始序列的排列顺序无关的是()。

A. 直接插入排序和快速排序
B. 直接插入排序和归并排序
C. 直接选择排序和归并排序
D. 快速排序和归并排序和归并排序
正确答案:C
4. 在单链表中,删除p所指结点的直接后继的操作是( )
A. p->next=p->next->next;
B. p=p->next;p->next=p->next->next;
C. p->next=p->next;
D. p=p->next->next;
正确答案:A
5. 含n个顶点的连通图中的任意一条简单路径,其长度不可能超过( )。

A. 1
B. n/2
C. n-1
D. n
正确答案:C
6. 单链表中,增加头结点的目的是为了( )。

A. 方便运算的实现
B. 用于标识单链表
C. 使单链表中至少有一个结点
D. 用于标识起始结点的位置。

东北大学智慧树知到“计算机科学与技术”《数据结构Ⅱ》网课测试题答案1

东北大学智慧树知到“计算机科学与技术”《数据结构Ⅱ》网课测试题答案1

东北大学智慧树知到“计算机科学与技术”《数据结构Ⅱ》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.一个有向无环图的拓扑排序序列是()。

A.一定唯一的B.一定不唯一的C.不一定唯一的D.都不对2.在下列各种文件中,不能进行顺序查找的文件是()。

A.顺序文件B.索引文件C.散列文件D.多重表文件3.顺序存储设计时,存储单元的地址A.部分连续,部分不连续B.不一定连续C.一定连续D.一定不连续4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则节省时间的存储方式是()。

A.顺序表B.双链表C.带头结点的双循环链表D.单循环链表5.若要在O(1)的时间复杂度上实现两个循环链表头尾相接,则应对两个循环链表各设置一个指针,分别指向()。

A.各自的头结点B.各自的尾结点C.各自的第一个元素结点D.一个表的头结点,另一个表的尾结点6.栈是一种操作受限的线性结构,其操作的主要特征是()。

A.先进先出B.后进先出C.进优于出D.出优于进7.已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7},E={,,,,,,,,},G的拓扑序列是已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7},E={,,,,,,,,},G的拓扑序列是A.V1,V3,V4,V6,V2,V5,V7B.V1,V3,V4,V5,V2,V6,V7C.V1,V3,V2,V6,V4,V5,V7D.V1,V2,V5,V3,V4,V6,V78.在图采用邻接表存储时,求最小生成树的Prim算法的时间复杂度为A.O(n+e)B.O(n3)C.O(n2)D.O(n)9.已知含10个结点的二叉排序树是一棵完全二叉树,则该二叉排序树在等概率情况下查找成功的平均查找长度等于()。

A.1.0B.2.9C.3.4D.5.510.已知二叉树的先序序列为ABDECF,中序序列为DBEAFC,则后序序列为A.DEFBCAB.DEBFCAC.DEBCFAD.DEBAFC11.按排序过程中依据的原则分类,快速排序属于A.选择类的排序方法B.插入类的排序方法C.归并类的排序方法D.交换类的排序方法12.下列说法正确的是:(1)二叉树按某种方式线索化后,任一节点均有指向前趋和后继的线索;(2)二叉树的前序遍历序列中,任意一个节点均处于在子孙节点前;(3)二叉排序树中任一节点的值大于其左孩子的值,小于右孩子的值。

东师《数据结构》15春在线作业2试卷

东师《数据结构》15春在线作业2试卷

东师《数据结构》15春在线作业2一、单选题(共20 道试题,共60 分。

)V 1. n个结点的线索二叉树上含有的线索数为( )。

A. n-1B. nC. n +1D. 2n满分:3 分2. 有n个顶点的无向图的边数最多为()。

A. nB. n(n-1)C. n(n-1)/2D. 2n满分:3 分3. 下列排序方法中,哪一个是稳定的排序方法?()A. 直接选择排序B. 直接插入排序C. 希尔排序D. 快速排序满分:3 分4. 设有n个结点的二叉排序树,对于成功的查找,最少的比较次数为()。

A. Ο( 1 )B. Ο(log2n)C. Ο(n)D. Ο(nlog2n)满分:3 分5. 设二维数组A[0..m-1][0..n-1]按列优先顺序存储且每个元素占c 个单元,则元素A[i][j]的地址为()。

A. LOC(A[0][0]) + (j*m+i)*cB. LOC(A[0][0]) + (i*n+j)*cC. LOC(A[0][0]) + [(j-1)*m+i-1]*cD. LOC(A[0][0]) + [(i-1)*n+j-1]*c满分:3 分6. 在有向图G的拓扑序列中,若顶点Vi在Vj之前,则下列情形不可能出现的是() 。

A. G中有弧<Vi , Vj >B. G中有一条从Vi到Vj 的路径C. G中没有弧<Vi , Vj >D. G中有一条从Vj到Vi 的路径满分:3 分7. 用DFS遍历一个无环有向图,并在DFS算法退栈返回时打印相应的顶点,则输出的顶点序列是()。

A. 逆拓扑有序B. 拓扑有序C. 无序的D. 部分有序的满分:3 分8. 采用邻接表存储的图的广度优先遍历类似于二叉树的()。

A. 前序遍历B. 中序遍历C. 后序遍历D. 层次遍历满分:3 分9. 倒排文件中倒排表是指()。

A. 主关键字索引B. 次关键字索引C. 物理顺序与逻辑顺序不一致D. 多关键字索引满分:3 分10. 若设根结点的层数为0,则具有37个结点的完全二叉树的深度(或高度)为( )。

数据结构(第二版)课后习题答案

数据结构(第二版)课后习题答案

数据结构(第二版)课后习题答案第一章:数据结构概述数据结构是计算机科学中非常重要的一个概念,它用于组织和管理计算机内部存储的数据。

数据结构的设计直接影响到程序的运行效率和对真实世界问题的建模能力。

第二版的《数据结构》教材旨在帮助读者更好地理解和应用数据结构。

为了提高学习效果,每章节后都附有一系列习题。

本文将为第二版《数据结构》教材中的部分习题提供详细的答案和解析。

第二章:线性表2.1 顺序表习题1:请问如何判断顺序表是否为空表?答案:当顺序表的长度为0时,即为空表。

解析:顺序表是用一块连续的内存空间存储数据元素的线性结构。

当顺序表中没有元素时,长度为0,即为空表。

习题2:如何求顺序表中第i个元素的值?答案:可以通过访问顺序表的第i-1个位置来获取第i个元素的值。

解析:顺序表中的元素在内存中是连续存储的,通过下标访问元素时,需要将下标减1,因为数组是从0开始编号的。

2.2 链表习题1:请问链表中的结点包含哪些信息?答案:链表的结点一般包含两部分信息:数据域和指针域。

解析:数据域用于存储数据元素的值,指针域用于存储指向下一个结点的指针。

习题2:如何删除链表中的一个结点?答案:删除链表中的一个结点需要将其前一个结点的指针指向其后一个结点,然后释放被删除结点的内存空间。

解析:链表的删除操作相对简单,只需要通过修改指针的指向即可。

但需要注意释放被删除结点的内存空间,防止内存泄漏。

第三章:栈和队列3.1 栈习题1:如何判断栈是否为空?答案:当栈中没有任何元素时,即为空栈。

解析:栈是一种先进后出(Last In First Out,LIFO)的数据结构,栈顶指针指向栈顶元素。

当栈中没有元素时,栈顶指针为空。

习题2:请问入栈和出栈操作的时间复杂度是多少?答案:入栈和出栈操作的时间复杂度均为O(1)。

解析:栈的入栈和出栈操作只涉及栈顶指针的改变,不受栈中元素数量的影响,因此时间复杂度为O(1)。

3.2 队列习题1:请问队列可以用哪些方式实现?答案:队列可以用数组或链表来实现。

数据结构第2版习题答案

数据结构第2版习题答案

数据结构第2版习题答案第1章:引言数据结构是计算机科学中非常重要的一个领域,它关注如何以高效的方式组织和存储数据,以及如何在数据集合中进行操作和处理。

本章将回答《数据结构第2版》中的习题,帮助读者更好地理解和掌握数据结构。

第2章:算法分析习题1:算法复杂度问题描述:给定一个算法中的递归函数,分析其时间复杂度。

解答:对于递归算法的时间复杂度分析,可以使用递归树或者递推关系式来求解。

根据习题中给出的递归函数具体形式,我们可以推导出其递归关系式,并通过求解递推关系式确定时间复杂度。

习题2:渐进符号问题描述:给定两个函数f(n)和g(n),证明f(n)的渐进复杂度小于等于g(n)的渐进复杂度。

解答:为了证明f(n)的渐进复杂度小于等于g(n)的渐进复杂度,我们需要使用大O符号进行形式化的证明。

通过定义和性质的证明,可以得出结论。

第3章:线性表习题3:线性表的实现问题描述:实现一个线性表的数据结构,并给出相关操作的算法。

比如插入元素、删除元素、查找元素等。

解答:一个线性表可以通过数组或链表来实现。

我们可以定义一个包含元素和相关操作的类来表示线性表。

在插入、删除、查找元素等操作中,可以通过遍历或者索引等方式来实现。

习题4:线性表的应用问题描述:举例介绍线性表的应用场景,并分析其对应的实现方法和复杂度。

解答:线性表的应用场景非常广泛,比如数组、链表、队列、栈等。

我们可以通过具体的案例,如存储学生成绩、处理任务队列、实现表达式求值等,来说明线性表的应用和对应的实现方法。

第4章:栈和队列习题5:栈和队列的实现问题描述:实现一个栈和队列的数据结构,并给出相关操作的算法。

解答:栈和队列可以通过数组或链表来实现。

我们可以定义相应的类来表示栈和队列,并实现相关操作,如入栈、出栈、入队、出队等。

习题6:栈和队列的应用问题描述:举例介绍栈和队列的应用场景,并分析其对应的实现方法和复杂度。

解答:栈和队列的应用非常广泛,比如表达式求值、括号匹配、图的深度优先搜索等。

东北大学19秋学期《数据结构Ⅱ》在线平时作业2答案

东北大学19秋学期《数据结构Ⅱ》在线平时作业2答案

东大19秋学期《数据结构Ⅱ》在线平时作业2
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.数据的四种基本存储结构是指
A.顺序存储结构、非顺序存储结构、指针存储结构、树型存储结构
B.顺序存储结构、链式存储结构、树型存储结构、图型存储结构
C.顺序存储结构、索引存储结构、链式存储结构、散列存储结构
D.顺序存储结构、索引存储结构、直接存储结构、倒排存储结构
【运用所学知识,完成上述题目】
参考选择:C
2.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则不可能出现的出栈序列是
A.4,3,2,1,5,6
B.3,2,4,1,6,5
C.2,4,3,1,5,6
D.2,3,5,1,6,4
【运用所学知识,完成上述题目】
参考选择:D
3.有关二叉树下列说法正确的是
A.二叉树的度为2
B.二叉树中至少有一个结点的度为2
C.二叉树中任何一个结点的度都为2
D.一棵二叉树的度可以小于2
【运用所学知识,完成上述题目】
参考选择:D
4.算法分析的目的是
A.鉴别算法的可读性
B.辨别数据结构的合理性
C.评价算法的效率
D.研究算法中输入与输出的关系
【运用所学知识,完成上述题目】
参考选择:C
5.若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则x的前驱为
A.X的左子树中最右结点
B.X的左子树中最右叶结点
C.X的右子树中最左的结点
D.X的双亲
【运用所学知识,完成上述题目】
参考选择:A。

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

15春学期《数据结构Ⅱ》在线作业2
一、单选题(共20 道试题,共100 分。


1.
对关键字序列(5,1,4,3,7,2,8,6)进行快速排序时,以第一个元素5为基准的一次划分的结果为
A.
(1,2,3,4,5,6,7,8)
B.
(1,4,3,2,5,7,8,6)
C.
(2,1,4,3,5,7,8,6)
D.
(8,7,6,5,4,3,2,1)
正确答案:C
2.
下面关于线性表的叙述中,错误的是
A.
线性表采用顺序存储,必须占用一片连续的存储单元。

B.
线性表采用顺序存储,便于进行插入和删除操作。

C.
线性表采用链接存储,不必占用一片连续的存储单元。

D.
线性表采用链接存储,便于插入和删除操作。

正确答案:B
3.
若数组s[0..n-1]为两个栈s1和s2的共用存储空间,且仅当s[0..n-1]全满时,各栈才不能进行进栈操作,则为这两个栈分配空间的最佳方案是:s1和s2的栈顶指针的初值分别为
A. 1和n+1
B. 1和n/2
C.
-1和n
D. -1和n+1
正确答案:C。

相关文档
最新文档