数据结构作业电子版

合集下载

数据结构作业

数据结构作业
第六章树和二叉树
6.45 编写递归算法:对于二叉树中每一个元素值为x的结点,删去以它为根的子树,并释放相应的空间。
6.46 编写复制一棵二叉树的非递归算法。
6.59 编写算法完成下列操作:无重复地输出以孩子兄弟链表存储的树T中所有的边(这里的边是指树T本身的分支,而不是孩子兄弟链表所形成的二叉树的分支)。输出的形式为(k1, k2), ..., (ki, kj), ..., 其中,ki和kj为树结点中的结点标识。
1.20试编写算法求一元多项式 的值Pn(x0),并确定算法中每一语句的执行次数和整个算法的时间复杂度。注意选择你认为较好的输入和输出方法。本题的输入为ai(i=0, 1,…, n)、x0和n,输出为Pn(x0)。
第二章线性表
2.11设顺序表va中的数据元素非递减有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。
注:根据同学们的要求,将作业量从六道题减少到三道题,希望同学们能及时完成。
第五章数组和广义表
5.21 假设稀疏矩阵A和B均以三元组顺序表作为存储结构。试写出矩阵相加的算法,另设三元组C存放结果矩阵。
5.26 试编写一个以三元组形式输出用十字链表表示的稀疏矩阵中非零元素及其下标的算法。
5.33 试编写递归算法,输出广义表中所有原子项及其所在的层次。
第十二章 文件
12.10假设某个有3000张床位的旅店需建立一个便于管理的文件,每个记录是一个旅客的身份和投宿情况。其中旅客身份证号(15位十进制数字)可作为主关键字,此外还需建立按姓名、投宿日期、从哪来等次关键字项索引。请为此文件确定一种组织方式(如:主文件如何组织,各次关键字项索引如何建立等
第十章 排序
10.23 试以L.r[k+1]作为监视哨改写直接插入排序算法。其中,L.r[1...k]为待排记录且k<MAXSIZE。

数据结构作业及参考答案(最新版)

数据结构作业及参考答案(最新版)

数据结构一、选择题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数据的逻辑结构可分为_____ ______两大类4数据的逻辑结构是指而存储结构是指5逻辑上相邻的数据元素在物理位置上也相邻是存储结构的特点之一6为了实现随机访问线性结构应该采用存储结构7链式存储结构的主要特点是8算法分析主要从和这两个方面对算法进行分析(1)数据(2)数据元素(3)数据类型(4)数据结构(5)逻辑结构(6)存储结构(7)线性结构(8)非线性结构第二章作业一、判断题(在你认为正确的题后的括号中打√,否则打X)。

1.线性表的逻辑顺序与存储顺序总是一致的。

2.顺序存储的线性表可以按序号随机存取。

3.顺序表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的元素需要移动。

4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此是属于同一数据对象。

5.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。

6.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。

7.线性表的链式存储结构优于顺序存储结构。

8.在线性表的顺序存储结构中,插入和删除时,移动元素的个数与该元素的位置有关。

9.线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。

10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。

二、单项选择题。

1.线性表是( ) 。

(A) 一个有限序列,可以为空; (B) 一个有限序列,不能为空;(C) 一个无限序列,可以为空; (D) 一个无序序列,不能为空。

2.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。

插入一个元素时平均要移动表中的()个元素。

(A) n/2 (B) n+1/2 (C) n -1/2 (D) n 3.线性表采用链式存储时,其地址( ) 。

200721数据结构 作业(高起专、高起本)

200721数据结构 作业(高起专、高起本)

比较(
)个元素结点。
A、
B、n
C、
D、
20、设单链表中指针 p 指向结点 m,若要删除 m 之后的结点(若存在),则需修改指针的操作
为(
)。
A、
B、
C、
D、
21、在(
)运算中,使用顺序表比链表好。
A、插入
B、删除
C、根据序号查找
D、根据元素值查找
22、在一个具有 n 个结点的有序单链表中插入一个新结点并保持该表有序的时间复杂度
第 2 页 共 20 页 在您完成作业过程中,如有疑难,请登录学院网站“辅导答疑”栏目,与老师进行交流讨论!
C、一个无限序列,可以为空
D、一个无限序列,不可以为空
18、在一个长度为 n 的顺序表中删除第 i 个元素
时,需向前移动(
)个元素。
A、
B、
C、
D、i
19、从一个具有 n 个结点的单链表中查找其值等于 x 的结点时,在查找成功的情况下,需平均
( )个。
第 6 页 共 20 页 在您完成作业过程中,如有疑难,请登录学院网站“辅导答疑”栏目,与老师进行交流讨论!
A、15
B、16
C、17
D、47
48、设 n , m 为一棵二叉树上的两个结点,在中序遍历序列中 n 在 m 前的条件是( )。
A、n 在 m 右方
B、n 在 m 左方
C、n 是 m 的祖先
D、求串长
6、二维数组 M 的成员是 6 个字符(每个字符占一个存储单元)组成的串,行下标 i 的
范围从 0 到 8,列下标 j 的范围从 1 到 10,则存放 M 至少需要(
)个字节。
A、90
B、180

电子科大16秋《数据结构》在线作业3

电子科大16秋《数据结构》在线作业3

电子科技大学电子科大16秋《数据结构》在线作业3一、单选题(共16 道试题,共48 分。

)1. 抽象数据类型的三个组成部分分别为()。

A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型正确答案:2. 已知一棵完全二叉树有64个叶子结点,则该树可能达到的最大深度为()。

A. 7B. 8C. 9D. 10正确答案:3. 已知在一棵度为3的树中,度为2的结点数为4,度为3的结点数为3,则该树中的叶子结点数为()。

A. 5B. 8C. 11D. 18正确答案:4. 已知指针p和q分别指向某单链表中第一个结点和最后一个结点。

假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。

A. q->next=s->next;s->next=pB. s->next=p;q->next=s->nextC. p->next=s->next;s->next=qD. s->next=q;p->next=s->next正确答案:5. 下面程序段的时间复杂度为()。

for (i=0; i<m; i++) for (j=0; j<n; j++) A[i][j]=i*j;A. O (m2)B. O (n2)C. O (m*n)D. O (m+n)正确答案:6. 在数据结构中,数据的逻辑结构可以分成()。

A. 内部结构和外部结构B. 线性结构和非线性结构C. 紧凑结构和非紧揍结构D. 动态结构和静态结构正确答案:7. 在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是()。

A. p=p->nextB. p->next=p->next->nextC. p->next=pD. p=p->next->next;正确答案:8. 采用两类不同存储结构的字符串可分别简称为()。

数据结构实践作业

数据结构实践作业

数据结构作业利用单向链表数据结构完成对链表的如下操作: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.写出求双向循环链表长度的算法。(注:头结点 写出求双向循环链表长度的算法。(注 写出求双向循环链表长度的算法。( 不算) 不算)

数据结构-作业-491

数据结构-作业-491
4.已知:s='(XYZ)+* ',t='(X+Z)*Y'。试利用联接、 求子串和置换等基本运算,将 s 转化为 t。
第五章习题:
1. 设有二维数组a[6][8],每个元素占相邻的4个 字节,存储器按字节编址,已知a的起始地址是1000, 试计算:
① 数组a的体积(即存储量); ② 数组a的最后一个元素a57起始地址; ③ 按行序优先时,元素a46起始地址。 2.什么是广义表?请简述广义表与线性表的区别? 3. 一个广义表是(a, (b, c), d, e, (f, (i, j), k)) ,请画出 该广义表的图形表示和链式存储结构。
① 哪个是根结点? 哪些是叶子结点? 哪个是g 的双亲? 哪些是g的祖先? 哪些是g的孩子? 那些 是e的子孙? 哪些是e的兄弟? 哪些是f的兄弟?
② b和n的层次各是多少? 树的深度是多少? 以结点c为根的子树的深度是多少?
(2) 设有下图所示的二叉树。 ① 分别用顺序存储方法和链接存储方法画出该二叉树的存储 结构。 ② 写出该二叉树的先序、中序、后序遍历序列。
第四章习题:
1.解释空串和空格串的区别,主串和子串的区别。
2.设s=‘I AM A STUDENT’, t=‘GOOD’, q=‘WORKER’。 求:①StrLength(s),②StrLength(t), ③SubString(s,8,7),④ SubString(t,2,1), ⑤Index(s,‘A’), ⑥Index(s,t), ⑦Replace(s,‘STUDENT’,q), ⑧Concat(SubString(s,6,2),Concat(t, SubString(s,7,8)))。
5 .已知L是带表头结点的非空单链表,且P结点既不是首元结点,也不 是尾元结点,试从下列提供的答案中选择合适的语句序列。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1数据结构课程研究的主要内容包括()()()2一个完整的算法应该具有_____ _____ ______ ______ ______五个特性3数据的逻辑结构可分为_____ ______两大类4数据的逻辑结构是指而存储结构是指5逻辑上相邻的数据元素在物理位置上也相邻是存储结构的特点之一6为了实现随机访问线性结构应该采用存储结构7链式存储结构的主要特点是8算法分析主要从和这两个方面对算法进行分析(1)数据(2)数据元素(3)数据类型(4)数据结构(5)逻辑结构(6)存储结构(7)线性结构(8)非线性结构第二章作业一、判断题(在你认为正确的题后的括号中打√,否则打X)。

1.线性表的逻辑顺序与存储顺序总是一致的。

2.顺序存储的线性表可以按序号随机存取。

3.顺序表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的元素需要移动。

4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此是属于同一数据对象。

5.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。

6.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。

7.线性表的链式存储结构优于顺序存储结构。

8.在线性表的顺序存储结构中,插入和删除时,移动元素的个数与该元素的位置有关。

9.线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。

10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。

二、单项选择题。

1.线性表是( ) 。

(A) 一个有限序列,可以为空; (B) 一个有限序列,不能为空;(C) 一个无限序列,可以为空; (D) 一个无序序列,不能为空。

2.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。

插入一个元素时平均要移动表中的()个元素。

(A) n/2 (B) n+1/2 (C) n -1/2 (D) n 3.线性表采用链式存储时,其地址( ) 。

(A) 必须是连续的; (B) 部分地址必须是连续的;(C) 一定是不连续的; (D) 连续与否均可以。

4.用链表表示线性表的优点是()。

(A)便于随机存取(B)花费的存储空间较顺序存储少(C)便于插入和删除(D)数据元素的物理顺序与逻辑顺序相同5.下面关于线性表的叙述错误的是( )。

() 线性表采用顺序存储,必须占用一片地址连续的单元;() 线性表采用顺序存储,便于进行插入和删除操作;() 线性表采用链式存储,不必占用一片地址连续的单元;() 线性表采用链式存储,便于进行插入和删除操作;6.设存储分配是从低地址到高地址进行的。

若每个元素占用4个存储单元,则某元素的地址是指它所占用的单元的( )。

A.第1个单元的地址 B.第2个单元的地址C.第3个单元的地址 n第4个单元的地址7.若线性表采用顺序存储结构,每个元素占用4个存储单元,第1个元素的存储地址为100,则第12个元素的存储地址是( )。

A.112 B.144 C.148 0.4128.若长度为n的线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,i的合法值应该是( )。

A.i>O B.i≤n C.1≤i≤n D.1≤i≤n+19.若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,i的合法值应该是( )。

A.i>O B.i≤n C.1≤i≤n D。

1≤i≤n十110.若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,首先需要移动表中( )个数据元素。

A.n-i B.n+i C.n-i+l D.n-i-111.若长度为n的线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,需要移动表中( )个元素。

A.i B.n+i C.n-i+l D.n-i-112.设单链表中结点的结构为typedef struct node { //链表结点定义ElemType data; //数据struct node * Link; //结点后继指针} ListNode;已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列哪一个操作()A. s->link = p; p->link = s;B. s->link = p->link; p->link = s;C. s->link = p->link; p = s;D. p->link = s; s->link = p;第三章作业1.栈和队列都是()A.限制存取位置的线性结构B.顺序存储的线性结构C.链式存储的线性结构D.限制存取位置的非线性结构2.若数组s[0..n-1]为两个栈s1和s2的共用存储空间,且仅当s[0..n-1]全满时,各栈才不能进行进栈操作,则为这两个栈分配空间的最佳方案是:s1和s2的栈顶指针的初值分别为()A.:0和n-1B.1和n/2 C.-1和nD.-1和n+13.若进栈序列为a,b,c,则通过入出栈操作可能得到的a,b,c的不同排列个数为( )A.4B.5C.6D.74.如图所示,设输入元素的顺序是A,B,C,D,通过栈的变换,在输出端可得到各种排列。

若输出序列的第一个元素为D,则输出序列为_ ____________。

5.队列中允许进行删除的一端为___ ______。

6.假设以S和X分别表示进栈和退栈操作,则对输入序列a,b,c,d,e进行一系列栈操作SSXSXSSXXX之后,得到的输出序列为___ __。

第五章数组和广义表单项选择题。

(1)空的广义表是指广义表()。

A.深度为0 B.尚未赋值C.不含任何原子元素D.不含任何元素(2)广义表中元素分为()。

A.原子元素B.表元素C.原子元素和表元素D.任意元素(3)广义表的长度是指()。

A.广义表中元素的个数B.广义表中原子元素的个数C.广义表中表元素的个数D.广义表中括号嵌套的层数(4)广义表的深度是指()。

A.广义表中元素的个数B.广义表中原子元素的个数C.广义表中表元素的个数D.广义表中括号嵌套的层数(5)在一个长度为n,包含m个原子元素的广义表中,()。

A.m和n相等B.m不大于n C.m不小于n D.m与n无关(6)广义表A=(( ),(a),(b,(c,d)))的长度为()。

A.2 B.3 C.4 D.5(7)广义表A:(( ),(a),(b,(c,d)))的深度为()。

A.2 B.3 C.4 D.5(8)设有一5阶上三角矩阵A[1..5,1..5],现将其上三角中的元素按列优先顺序存放在一堆数组B[1..15]中。

已知B[1]的地址为100,每个元素占用2个存储单元,则A[3,4]的地址为()A.116 B.118 C.120 D.122第六章树和二叉树一、判断题(在你认为正确的题后的括号中打√,否则打X)。

(1)在树型结构中,每一个结点最多只有一个前驱结点,但可以有多个后继结点。

( )(2)在树型结构中,每—个结点不能没有前驱结点。

( )(3)在度为k的树中,至少有一个度为k的结点。

( )(4)度为2的树是二叉树。

( )(5)在非空完全二叉树中,只有最下面一层的结点为叶结点。

( )(6)在完全二叉树中,没有左孩子的结点一定是叶结点。

( )(7)在完全二叉树中,没有右孩子的结点一定是叶结点。

( )(8)在结点数目一定的前提下,各种形态的二叉树中,完全二叉树具有最小深度。

(9)满二叉树中的每个结点的度不是0就是2。

( )(10)在所有深度相同的二叉树中,满二叉树具有最大结点数目。

( )(11)由二叉树的前序序列和中序序列可以唯一地确定一棵二叉树。

( )(12)由二叉树的中序序列和后序序列可以唯一地确定一棵二叉树。

( )(13)由二叉树的前序序列和后序序列可以唯一地确定一棵二叉树。

( )(14)哈夫曼树中不存在度为1的结点。

( )(15)满二叉树一定是完全二叉树。

( )二、单项选择题。

(1)树型结构最适合用来描述( )。

A.有序的数据元素B.无序的数据元素C.数据元素之间具有层次关系的数据D.数据元素之间没有关系的数据(2)按照二叉树的定义,具有3个结点的二叉树有( )种形态(不考虑数据信息的组合情况)。

A.2 B.3 C.4 D.5(3)若一棵二叉树有10个度为2的结点,则该二叉树的叶结点的个数是( )。

A.9 B.11 C.12 D.不确定(4)若一棵满二叉树有2047个结点,则该二叉树中叶结点的个数为( )。

A.512 B.1024 C.2048 D.4096(5)深度为h的满二叉树的第i层有( )个结点。

(i≤h) ( )A.2i—1 B.2i-1C.2h—1 D.2h-1(6)深度为h的满二叉树共有( )个结点。

(i<h)A.22h-1B.22h-1 C.2h-1 D.2h-1(7)若某完全二叉树的深度为h,则该完全二叉树中至少有( )个结点。

A.2h B.2h-1 c.2h+1 D.2h—1三、填空题。

(1)任何非空树中有且仅有一个结点没有前驱结点,该结点就是树的______ ______。

(2)树的层次定义为____________________。

(3)度为k的树中第i层最多有______________个结点(i≥1)。

(4)深度为h的k叉树最多有_______ _____________个结点。

(5)非空二叉树一共有_______________种基本形态。

(6)非空二叉树中第i层最多有______________个结点。

(7)深度为h的二叉树最多有_____________________________个结点。

(8)具有n个结点的完全二叉树的深度h=____________________。

(9)若二叉树有N0个叶结点,n2个度为2的结点,则N0与n2的关系是________ ______。

(10)若具有n个结点的非空二叉树.树有N0个叶结点,则该二叉树有_______ _____个度为2的结点,___________个度为1的结点。

(11)对具有n个结点的完全二叉树按照层次从上到下,每一层从左到右的次序对所有结点进行编号,编号为i的结点的双亲结点的编号为______________,左孩子的编号为_______________,右孩子的编号为______________。

(12)若具有n个结点的二叉树采用二叉链表存储结构,则该链表中有_____________个指针域,其中有________________个指针域用于链接孩子结点,______________个指针域空闲存放着NULL。

(13)已知二叉树的前序遍历序列为ABDCEFG,中序遍历序列为DBCAFEG,其后序遍历序列为__________。

相关文档
最新文档