数据结构课程作业
数据结构作业及答案

第一章绪论一、选择题1.数据结构是一门研究非数值计算的程序设计问题中计算机的1以及它们之间的2和运算等的学科。
1 A.数据元素 B.计算方法 C.逻辑存储 D.数据映像2 A.结构 B.关系 C.运算 D.算法2.数据结构被形式地定义为(K, R),其中K是1的有限集,R是K上的2有限集。
1 A.算法 B.数据元素 C.数据操作 D.逻辑结构2 A.操作 B.映像 C.存储 D.关系3.在数据结构中,从逻辑上可以把数据结构分成。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构4.线性结构的顺序存储结构是一种1的存储结构,线性表的链式存储结构是一种2的存储结构。
A.随机存取 B.顺序存取 C.索引存取 D.散列存取5.算法分析的目的是1,算法分析的两个主要方面其一是指2,其二是指正确性和简单性。
1 A.找出数据结构的合理性 B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性2 A.空间复杂度和时间复杂度 B.研究算法中的输入和输出的关系C.可读性和文档性D.数据复杂性和程序复杂性k6.计算机算法指的是1,它必须具备输入、输出和2等5个特性。
1 A.计算方法 B.排序方法 C.解决问题的有限运算序列 D.调度方法2 A.可执行性、可移植性和可扩充性 B.可行性、确定性和有穷性C.确定性、有穷性和稳定性D.易读性、稳定性和安全性7.线性表的逻辑顺序与存储顺序总是一致的,这种说法。
A.正确 B.不正确8线性表若采用链式存储结构时,要求内存中可用存储单元的地址。
A.必须连续的B.部分地址必须连续的C.一定是不续的D连续不连续都可以9.以下的叙述中,正确的是。
A.线性表的存储结构优于链式存储结构 B.二维数组是其数据元素为线性表的线性表C.栈的操作方式是先进先出D.队列的操作方式是先进后出10.每种数据结构都具备三个基本运算:插入、删除和查找,这种说法。
数据结构作业及参考答案(最新版)

数据结构一、选择题1.数据的存储结构是指( )。
A 存储在外存中的数据 B 数据所占的存储空间C 数据在计算机中的顺序存储方式D 数据的逻辑结构在计算机中的表示 2.下列关于栈的描述中错误的是( )。
A 栈是先进后出的线性表B 栈只能顺序存储C 栈具有记忆作用D 对栈的插入与删除操作中,不需要改变栈底指针 3.用链表表示线性表的优点是( )。
A 便于随机存取B 花费的存储空间较顺序存储少C 便于插入和删除操作D 数据元素的物理顺序与逻辑顺序相同 4.在下面关于线性表的叙述中,选出正确的一项( )。
A 线性表的每个元素都有一个直接前驱和直接后继;B 线性表中至少要有一个元素;C 线性表中的元素必须按递增或递减的顺序排列;D 除第一个元素和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继。
5.设在栈中,由顶向下已存放元素c b a ,在第4个元素d 入栈前,栈中元素可以出栈,试问d 入栈后,不可能的出栈序列是 ( )。
A d c b a B c b d aC c a d bD c d b a6.在下列关于二叉树的叙述中,选出正确的一项( )。
A 在二叉树中,任何一个结点的度都是2;B 二叉树的度为2;C 在二叉树中至少有一个结点的度是2D 一棵二叉树的度可以小于27.下面的二叉树中,( )不是完全二叉树。
8.有一棵非空的二叉树(第0层为根结点),其第i 层上至多有多少个结点 ( )。
A 2iB 2i-1C 2i+1D i9.线性表的逻辑顺序与存储顺序总是一致的,这种说法 ( )。
A 正确B 不正确10.深度为k 的二叉树,所含叶子的个数最多为 ( )。
A 2KB KC 2k-1D 2k-111.深度为5的二叉树至多有( )个结点。
A 16B 32C 31D 1012.在下面关于线性表的叙述中,选出错误的一项( )。
A 采用顺序存储的线性表,必须占用一片连续的存储单元B 采用顺序存储的线性表,便于进行插入和删除操作C 采用链接存储的线性表,不必占用一片连续的存储单元D 采用链接存储的线性表,便于进行插入和删除操作13.已知一棵二叉树的前序遍历结果为ABCDEF ,中序遍历结果为CBAEDF ,则后序遍历的结果为( )。
数据结构作业题及答案

数据结构作业题及答案第一章绪论1、简述下列概念:数据、数据元素、数据结构、逻辑结构、存储结构、线性结构、非线性结构。
数据:指能够被计算机识别、存储和加工处理的信息载体。
数据元素:就是数据的基本单位,在某些情况下,数据元素也称为元素、结点、顶点、记录。
数据元素有时可以由若干数据项组成。
数据结构:指的是数据之间的相互关系,即数据的组织形式。
一般包括三个方面的内容:数据的逻辑结构、存储结构和数据的运算。
逻辑结构:指各数据元素之间的逻辑关系。
存储结构:就是数据的逻辑结构用计算机语言的实现。
线性结构:数据逻辑结构中的一类,它的特征是若结构为非空集,则该结构有且只有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。
线性表就是一个典型的线性结构。
非线性结构:数据逻辑结构中的另一大类,它的逻辑特征是一个结点可能有多个直接前趋和直接后继。
2、常用的存储表示方法有哪几种?顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。
由此得到的存储表示称为顺序存储结构。
链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。
由此得到的存储表示称为链式存储结构。
索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。
散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址。
3第二章线性表1、试描述头指针、头结点、开始结点的区别、并说明头指针和头结点的作用。
答:开始结点是指链表中的第一个结点,也就是没有直接前趋的那个结点。
链表的头指针是一指向链表开始结点的指针(没有头结点时),单链表由头指针唯一确定,因此单链表可以用头指针的名字来命名。
头结点是我们人为地在链表的开始结点之前附加的一个结点。
有了头结点之后,头指针指向头结点,不论链表否为空,头指针总是非空。
而且头指针的设置使得对链表的第一个位置上的操作与在表其他位置上的操作一致(都是在某一结点之后)。
数据结构作业及答案汇总

数据结构作业及答案汇总数据结构是计算机科学中的一个重要概念,它涉及到组织和管理数据的方式和方法。
在学习数据结构的过程中,作业和答案总结是帮助我们巩固知识和理解的重要步骤。
本文将对数据结构作业及答案进行汇总,以便帮助读者更好地学习和掌握数据结构知识。
作业一:栈和队列1. 描述栈和队列的基本特点,并给出它们的应用场景。
栈是一种容器,它具有后进先出(LIFO)的特点。
常见的应用场景有程序调用栈、浏览器的前进后退功能等。
队列是一种容器,它具有先进先出(FIFO)的特点。
常见的应用场景有任务调度、消息队列等。
2. 设计一个栈,使其具有查找最小元素的功能。
给出实现代码和分析时间复杂度。
3. 设计一个队列,使其具有查找最大元素的功能。
给出实现代码和分析时间复杂度。
作业二:链表1. 描述链表的基本特点,并给出它的应用场景。
链表是一种数据结构,它由一系列节点组成。
每个节点包含数据和指向下一节点的指针。
常见的应用场景有实现链表、存储大量数据等。
2. 设计一个单向链表,使其具有反转链表的功能。
给出实现代码和分析时间复杂度。
3. 设计一个双向链表,使其具有插入和删除节点的功能。
给出实现代码和分析时间复杂度。
作业三:树1. 描述树的基本特点,并给出它的应用场景。
树是一种非线性数据结构,它由节点和边组成。
常见的应用场景有文件系统、数据库索引等。
2. 设计一个二叉树,实现遍历功能(前序、中序、后序)。
给出实现代码和分析时间复杂度。
3. 设计一个平衡二叉树,使其具有快速查找节点的功能。
给出实现代码和分析时间复杂度。
作业四:图1. 描述图的基本特点,并给出它的应用场景。
图是一种由顶点和边组成的数据结构,边表示顶点之间的关系。
常见的应用场景有社交网络、地图导航等。
2. 设计一个有向图,实现深度优先搜索(DFS)算法。
给出实现代码和分析时间复杂度。
3. 设计一个无向图,实现广度优先搜索(BFS)算法。
给出实现代码和分析时间复杂度。
答案汇总:在本文中,我们对栈、队列、链表、树和图这几个常见的数据结构进行了作业设计和答案汇总。
数据结构实践作业

数据结构作业利用单向链表数据结构完成对链表的如下操作:1、创建一条含整数结点的无序链表2、链表结点的输出3、链表结点的升序排序4、分别计算链表中奇数和偶数结点之和并输出5、释放链表具体要求将程序功能做成菜单,形式如下:1、创建一条含整数结点的无序链表2、链表结点的输出3、链表结点的升序排序4、分别计算链表中奇数和偶数结点之和并输出5、释放链表0、退出《数据结构》大作业1 总体要求将程序功能做成菜单,形式如下:(1)创建一条含整数结点的无序链表(2)链表结点的输出(3)链表结点的升序排序(4)分别计算链表中奇数和偶数结点之和并输出(5)释放链表2 开发环境软件环境:Window10,Visual Studio 20173 系统运行效果截图(1)主菜单:(2)创建一条含整数结点的无序链表:3,6,2,5,9(3)链表结点的输出(4)链表结点的升序排序(5)分别计算链表中奇数和偶数结点之和并输出(6)释放链表4 源程序#include<iostream>//头文件using namespace std;//节点数据结构定义struct node{int data;node *next;};//创建一条含整数结点的无序链表node *CreateLinkList(){node *p1, *p2, *head;int n;p2 = NULL;head = NULL;cout <<"正在创建一个无序链表\n";cout <<"请输入一个整数,以-1结束:";cin >> n;//循环输入一个整数,直到数值为-1结束,创建一条无序链表while (n != -1){p1 = new node;p1->data = n;//采用尾插法,新建一个结点并连接到链表尾部if (head == 0){head = p1; p2 = p1; //首结点的建立}else{p2->next = p1; p2 = p1;}cout <<"请输入一个整数,以-1结束:";cin >> n;}if (head != 0) //尾结点p2->next = 0;return(head);}//输出结点void PrintLinkList(const node *head){const node *p;p = head;while (p != NULL){cout <<" "<< (p->data);p = p->next;}cout << endl;}//升序排序void SortLinkList(node *head){node temp;node *p = NULL;node *q = NULL;//判断结点为空或者只有一个结点if (head == NULL || head->next == NULL){return;}//p->next!=NULL为链表倒数第2个结点for (p = head; p->next != NULL; p = p->next) {for (q = p->next; q != NULL; q = q->next){if (p->data > q->data) //升序{ //交换数据域temp.data = q->data;q->data = p->data;p->data = temp.data;}}}return;}//奇数结点和int OddSumLinkList(const node *head){int sum = 0;const node *p;p = head;while (p){//判断数值为是否奇数if (p->data % 2 != 0){sum = sum + p->data;}p = p->next;}return sum;}//偶数结点和int EvenSumLinkList(const node *head){int sum = 0;const node *p;p = head;while (p){//判断是否偶数if (p->data % 2 == 0){sum = sum + p->data; //偶数结点的数值累加}p = p->next;}return sum;}//释放链表void DeleteLinkList(node *head){node *p;while (head){p = head;head = head->next;delete p;}printf("释放成功\n");}void main(){node *head;head = NULL;int select;cout <<"************菜单************"<< endl;cout <<"输入对应选择,执行对应操作"<< endl;cout <<"1.创建一条含整数结点的无序链表"<< endl;cout <<"2.链表结点的输出"<< endl;cout <<"3.链表节点的升序排序"<< endl;cout <<"4.分别计算链表中奇数和偶数结点之和并输出"<< endl;cout <<"5.释放链表"<< endl;cout <<"0.退出"<< endl;while (1){cout <<"\n请输入选择:";cin >> select;switch (select) //判断选项,并执行对应的函数{case 1:{head = CreateLinkList();printf("无序链表创建完成\n");break;}case 2:{printf("输出链表中各结点数据:");PrintLinkList(head);break;}case 3:{SortLinkList(head);printf("升序后:");PrintLinkList(head);break;}case 4:{int oddsum;int evensum;oddsum = OddSumLinkList(head);evensum = EvenSumLinkList(head);printf("奇数和= %d,偶数和= %d\n", oddsum, evensum);break;}case 5:{DeleteLinkList(head);break;}case 0:{cout <<"退出"<< endl;exit(0);}default:{cout <<"输入选项有误,请重新输入:"<< endl;break;}}}}。
数据结构的作业

第五章作业: 第五章作业: 1.假设有二维数组 假设有二维数组a:array[1..6,0..7] of elemtp; 每个数据元 假设有二维数组 素占6个字节 存储器按字节编址 的基地址为1000,则: 素占 个字节,存储器按字节编址。a的基地址为 个字节 存储器按字节编址。 的基地址为 则 (1) 数组 的体积; 数组a的体积 的体积; (2)数组 的最后一个元素的第一个字节的地址; 数组a的最后一个元素的第一个字节的地址 数组 的最后一个元素的第一个字节的地址; (3)按行存储时,a[2,4]的第一个字节的地址; 按行存储时, 的第一个字节的地址; 按行存储时 的第一个字节的地址 (4)按列存储时,a[5,7]的第一个字节的地址; 按列存储时, 的第一个字节的地址; 按列存储时 的第一个字节的地址
7.写出下列各树的先根序列 后根序列 并且画出对应的二 写出下列各树的先根序列,后根序列 写出下列各树的先根序列 后根序列,并且画出对应的二 叉树. 叉树 A A A A B C D B C B C I 8.画出第 题的森林相应的二叉树 画出第7题的森林相应的二叉树 画出第 题的森林相应的二叉树. 9.画出和下列已知序列对应的树 画出和下列已知序列对应的树T: 画出和下列已知序列对应的树 树的先根次序访问序列为:GFKDAIEBCHJ,而且 而且 树的先根次序访问序列为 树的后根次序访问序列为:DIAEKFCJHBG。 。 树的后根次序访问序列为 E F J G H K
3.用单链表实现 用单链表实现Locate(L,x)函数。(可参考 函数。(可参考P26算法 算法2.5) 用单链表实现 函数。(可参考 算法 4.上机题:设单链表Va中的数据元素递增有序。试编 上机题:设单链表 中的数据元素递增有序 中的数据元素递增有序。 上机题 写程序,将数据X插入单链表 插入单链表Va, 写程序,将数据 插入单链表 ,要求插 入后保持该表的有序性。 入后保持该表的有序性。 5.写出双向链表删除第i个结点的算法 5.写出双向链表删除第i个结点的算法。 写出双向链表删除第 个结点的算法。 6.写出求双向循环链表长度的算法。(注:头结点 写出求双向循环链表长度的算法。(注 写出求双向循环链表长度的算法。( 不算) 不算)
数据结构平时作业

数据结构平时作业一、任务描述本次数据结构平时作业旨在加深对数据结构的理解和应用。
要求完成以下三个任务:1. 实现一个链表数据结构,并完成链表的插入、删除和查找操作。
2. 实现一个栈数据结构,并完成栈的入栈、出栈和判空操作。
3. 实现一个队列数据结构,并完成队列的入队、出队和判空操作。
二、任务一:链表数据结构的实现1. 链表的定义:链表是一种线性数据结构,由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。
2. 链表的插入操作:- 插入节点到链表头部:将新节点的指针指向原链表的头节点,并将新节点设为新的头节点。
- 插入节点到链表尾部:将新节点的指针指向原链表的尾节点,并将新节点设为新的尾节点。
- 插入节点到链表中间:找到要插入位置的前一个节点,将新节点的指针指向该节点的下一个节点,并将该节点的指针指向新节点。
3. 链表的删除操作:- 删除链表头节点:将头节点的指针指向下一个节点,并释放原头节点的内存空间。
- 删除链表尾节点:找到尾节点的前一个节点,将其指针指向NULL,并释放尾节点的内存空间。
- 删除链表中间节点:找到要删除节点的前一个节点,将其指针指向要删除节点的下一个节点,并释放要删除节点的内存空间。
4. 链表的查找操作:- 按值查找:从链表头节点开始,依次遍历链表节点,直到找到目标值或遍历完整个链表。
- 按位置查找:从链表头节点开始,依次遍历链表节点,直到找到目标位置或遍历完指定位置的节点。
三、任务二:栈数据结构的实现1. 栈的定义:栈是一种具有后进先出(LIFO)特性的线性数据结构,只允许在栈顶进行插入和删除操作。
2. 栈的入栈操作:- 将元素插入到栈顶:将元素添加到栈顶,并更新栈顶指针。
3. 栈的出栈操作:- 从栈顶删除元素:将栈顶元素删除,并更新栈顶指针。
4. 栈的判空操作:- 判断栈是否为空:检查栈顶指针是否为NULL,如果为NULL则栈为空。
四、任务三:队列数据结构的实现1. 队列的定义:队列是一种具有先进先出(FIFO)特性的线性数据结构,只允许在队尾进行插入操作,在队头进行删除操作。
数据结构平时作业

数据结构平时作业数据结构平时作业一、概述本文档旨在介绍数据结构的平时作业。
通过完成这些作业,可以加深对数据结构的理解,提高编程能力。
二、作业一:数组操作⒈实现一个动态数组类,包括插入、删除、查找等基本操作。
⒉设计一个算法,找出数组中第k大的元素。
⒊给定一个有序数组,删除重复元素,使得每个元素只出现一次。
三、作业二:链表操作⒈实现一个单链表类,包括插入、删除、查找等基本操作。
⒉设计一个算法,判断一个链表是否有环,并找出环的起始节点。
⒊给定两个有序链表,合并它们,使得合并后的链表仍然有序。
四、作业三:栈和队列操作⒈实现一个栈类,包括入栈、出栈、查看栈顶元素等基本操作。
⒉实现一个队列类,包括入队、出队、查看队首元素等基本操作。
⒊设计一个栈,可以在O(1)时间内找到栈中的最小元素。
五、作业四:树操作⒈实现一个二叉树类,包括插入节点、删除节点、前序遍历、中序遍历、后序遍历等基本操作。
⒉设计一个算法,判断两棵二叉树是否相等。
⒊给定一个二叉树,计算树的深度。
六、作业五:图操作⒈实现一个图类,包括添加顶点、添加边、广度优先搜索、深度优先搜索等基本操作。
⒉设计一个算法,判断图中是否存在从顶点A到顶点B的路径。
⒊给定一个有向无环图,计算图中的拓扑排序。
附件:⒈动态数组类源代码示例⒉单链表类源代码示例⒊栈类源代码示例⒋队列类源代码示例⒌二叉树类源代码示例⒍图类源代码示例法律名词及注释:⒈平时作业:指在课程学习过程中,教师布置给学生的日常作业,用于加强理论知识的实践应用。
⒉动态数组:一种能够自动扩展和收缩长度的数组结构。
在插入/删除元素时,如果数组已满/空,会自动调整大小。
⒊单链表:一种基于节点的线性数据结构,每个节点包含数据和指向下一个节点的指针。
⒋栈:一种遵循先进后出(Last-In-First-Out)原则的数据结构,只允许在一端进行插入和删除操作。
⒌队列:一种遵循先进先出(First-In-First-Out)原则的数据结构,允许在一端进行插入,在另一端进行删除操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构课程作业_A交卷时间:2017-08-09 10:08:51一、单选题1.(7分)设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置脚注(10)表示用10进制表示。
A. 688B. 678C. 692D. 696纠错得分: 7知识点:第五章展开解析答案 C解析第五章第二节综合题目2.(7分)若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,3纠错得分: 0知识点:第九章展开解析答案 D解析第九章第一节有序表的查找(7分)设某完全无向图中有n个顶点,则该完全无向图中有()条边。
A. n(n-1)/2B. n(n-1)C. n2D. n2-1纠错得分: 7知识点:第七章展开解析答案 A解析第七章第一节综合题目4.(7分)若在任意一棵二叉树中,有n0个叶子结点,有n2个度为2的结点,则:n0=_____A. n2+1B. n2-1C. n2+2D. n2-2纠错得分: 7知识点:第六章展开解析答案 A解析第六章第二节二叉树的性质5.(7分)栈的插入和删除操作在()进行。
A. 栈顶B. 栈底C. 任意位置D. 指定位置得分: 7知识点:第三章展开解析答案 A解析第三章第一节栈的表示和实现6.(7分)设有序表中有1000个元素,则用二分查找查找元素X最多需要比较()次。
A. 25B. 10C. 7D. 1纠错得分: 7知识点:第九章展开解析答案 B解析第九章第一节有序表的查找7.(7分)设某棵二叉树的高度为10,则该二叉树上叶子结点最多有()。
A. 20B. 256C. 512D. 1024纠错得分: 7知识点:第六章展开解析答案 C解析第六章第六节二叉树的性质(7分)线性表的顺序存储结构是一种的存储结构A. 随机存取B. 顺序存取C. 索引存取D. 散列存取纠错得分: 7知识点:第二章展开解析答案 A解析第二章第二节综合题目9.(7分)对完全二叉树叙述正确的是A. 完全二叉树就是满二叉树B. 完全二叉树和满二叉树编号不对应C. 完全二叉树同一层上左子树未满不会有右子树D. 以上都不正确纠错得分: 7知识点:第六章展开解析答案 C解析第六章第二节二叉树的性质10.(7分)设某强连通图中有n个顶点,则该强连通图中至少有()条边。
A. n(n-1)B. n+1C. nD. n(n+1)得分: 7知识点:第七章展开解析答案 C解析第七章第一节综合题目二、判断1.(6分)哈希表不需要进行比较便可以直接取得所查记录••纠错得分: 6知识点:第九章展开解析答案正确解析第九章第三节综合题目2.(6分)直接插入排序是一种最简单的排序方法••纠错得分: 6知识点:第十章展开解析答案正确解析第十章第二节直接插入排序3.(6分)分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。
()••纠错得分: 6知识点:第九章展开解析答案正确解析第九章第一节索引顺序表的查找4.(6分)数据的物理结构是指数据在计算机内的实际的存储形式••纠错得分: 6知识点:第一章展开解析答案正确解析第一章第二节物理结构5.(6分)当向二叉排序树中插入一个结点,则该结点一定成为叶子结点。
()••纠错得分: 6知识点:第九章收起解析答案正确解析第九章第二节二叉排序树和平衡二叉树数据结构课程作业_B交卷时间:2017-08-09 10:25:50一、单选题1.(7分)若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,3纠错得分: 7知识点:第九章展开解析答案 D解析第九章第一节有序表的查找2.(7分)按照二叉树的定义,有三个结点的二叉树有________种A. 2B. 3C. 4D. 5纠错得分: 7知识点:第六章展开解析答案 D解析第六章第二节二叉树的定义3.(7分)广义表((a),a)的表头是_______A. aB. bC. (a)D. ((a))纠错得分: 0知识点:第五章展开解析答案 C解析第五章第四节综合题目4.(7分)设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。
A. BADCB. BCDAC. CDABD. CBDA纠错得分: 7知识点:第六章展开解析答案 A解析第六章第三节遍历二叉树5.(7分)数据结构是一门研究的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科A. 数值B. 非数值C. 字符D. 数字纠错得分: 0知识点:第一章展开解析答案 B解析第一章第一节综合题目6.(7分)图的广度优先遍历算法类似于二叉树的____A. 先序遍历B. 中序遍历C. 后序遍历D. 层次遍历纠错得分: 7知识点:第七章展开解析答案 D解析第七章第三节广度优先搜索7.(7分)设一棵完全二叉树中有65个结点,则该完全二叉树的深度为()。
A. 8B. 7C. 6D. 5纠错得分: 7知识点:第六章展开解析答案 B解析第六章第六节二叉树的性质8.(7分)设用链表作为栈的存储结构则退栈操作()。
A. 必须判别栈是否为满B. 必须判别栈是否为空C. 判别栈元素的类型D. 对栈不作任何判别纠错得分: 7知识点:第三章展开解析答案 B解析第三章第一节综合题目9.(7分)设一组初始记录关键字序列为(13,18,24,35,47,50,62,83,90,115,134),则利用二分法查找关键字90需要比较的关键字个数为()。
A. 1B. 2C. 3D. 4纠错得分: 7知识点:第九章展开解析答案 B解析第九章第一节有序表的查找10.(7分)设二叉排序树上有n个结点,则在二叉排序树上查找结点的平均时间复杂度为()。
A. O(n)B. O(n2)C. O(nlog2n)D. O(1og2n)纠错得分: 7知识点:第九章展开解析答案 D解析第九章第二节二叉排序树和平衡二叉树二、判断1.(6分)设一棵树T可以转化成二叉树BT,则二叉树BT中一定没有右子树。
()••纠错得分: 6知识点:第六章展开解析答案正确解析第六章第四节森林与二叉树的转换2.(6分)如果两个关键字的值不等但哈希函数值相等,则称这两个关键字为同义词。
()••纠错得分: 6知识点:第九章展开解析答案正确解析第九章第三节什么是哈希表3.(6分)栈是后进先出的线性表••纠错得分: 6知识点:第三章展开解析答案正确解析第三章第一节综合题目4.(6分)二维数组和多维数组均不是特殊的线性结构。
()••纠错得分: 6知识点:第五章展开解析答案错误解析第五章综合题目5.(6分)栈和队列都是操作受限的线性表••纠错得分: 6知识点:第三章收起解析答案正确解析第三章综合题目数据结构课程作业_C交卷时间:2017-08-09 10:36:47一、单选题1.(7分)对完全二叉树叙述正确的是A. 完全二叉树就是满二叉树B. 完全二叉树和满二叉树编号不对应C. 完全二叉树同一层上左子树未满不会有右子树D. 以上都不正确纠错得分: 7知识点:第六章展开解析答案 C解析第六章第二节二叉树的性质2.(7分)线性表是A. 有限序列,可以为空B. 有限序列,不能为空C. 无限序列,可以为空D. 无限序列,不能为空纠错得分: 7知识点:第二章展开解析答案 A解析第二章第一节综合题目3.(7分)下面关于线性表的叙述错误的是()。
A. 线性表采用顺序存储必须占用一片连续的存储空间B. 线性表采用链式存储不必占用一片连续的存储空间C. 线性表采用链式存储便于插入和删除操作的实现D. 线性表采用顺序存储便于插入和删除操作的实现纠错得分: 7知识点:第二章展开解析答案 D解析第二章综合题目4.(7分)设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。
A. n-1B. nC. n+1D. 2n-1纠错得分: 7知识点:第七章展开解析答案 B解析第七章第二节邻接表5.(7分)二路归并排序的时间复杂度为()。
A. O(n)B. O(n2)C. O(nlog2n)D. O(1og2n)纠错得分: 7知识点:第十章展开解析答案 C解析第十章第五节综合题目6.(7分)两个字符串相等的充要条件是()。
A. 两个字符串的长度相等B. 两个字符串中对应位置上的字符相等C. 同时具备(A)和(B)两个条件D. 以上答案都不对纠错得分: 0知识点:第四章展开解析答案 C解析第四章第一节字符串相等7.(7分)栈的插入和删除操作在()进行。
A. 栈顶B. 栈底C. 任意位置D. 指定位置纠错得分: 7知识点:第三章展开解析答案 A解析第三章第一节栈的表示和实现8.(7分)设某有向图的邻接表中有n个表头结点和m个表结点,则该图中有()条有向边。
A. nB. n-1C. mD. m-1纠错得分: 7知识点:第七章展开解析答案 C解析第七章第二节邻接表9.(7分)设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为()。
A. 40,50,20,95B. 15,40,60,20C. 15,20,40,45D. 45,40,15,20纠错得分: 7知识点:第十章展开解析答案 B解析第十章第二节希尔排序10.(7分)设有以下四种排序方法,则()的空间复杂度最大。
A. 冒泡排序B. 快速排序C. 堆排序D. 希尔排序纠错得分: 7知识点:第十章展开解析答案 B解析第十章综合题目二、判断1.(6分)森林的先序遍历与其对应的二叉树的中序遍历对应••纠错得分: 0知识点:第六章展开解析答案错误解析第六章第四节数和森林的遍历2.(6分)带权无向图的最小生成树是唯一的。
()••纠错得分: 0知识点:第七章展开解析答案错误解析第七章第四节最小生成树3.(6分)算法和程序没有区别••纠错得分: 6知识点:第一章展开解析答案错误解析第一章第四节综合题目4.(6分)设某堆中有n个结点,则在该堆中插入一个新结点的时间复杂度为O(log2n)。
()••纠错得分: 6知识点:第十章展开解析答案正确解析第十章第四节堆排序5.(6分)设一棵树T可以转化成二叉树BT,则二叉树BT中一定没有右子树。
()••纠错得分: 6知识点:第六章收起解析答案正确解析第六章第四节森林与二叉树的转换数据结构课程作业_A交卷时间:2017-09-08 19:21:11一、单选题1.(7分)设带有头结点的单向循环链表的头指针变量为head,则其判空条件是()。