2022年南京农业大学信息科学技术学院853计算机专业基础综合之数(2)
24.栈和队列都是限制存取点的线性结构。( )
【答案】
25.3阶的B-树是平衡的3路搜索树。反之,一棵平衡的3路搜索树是3阶B-树。( )
【答案】×
【解析】3路搜索树并不具有3阶B-树的性质。因此一棵平衡的3路搜索树不一定是3阶B-树。
26.数据结构的抽象操作的定义与具体实现有关。( )
【答案】
【解析】数据结构的抽象操作定义取决于客观存在的一组逻辑特性,与其在计算机内具体表示和实现无关。
27.一般来说,若深度为k的n个结点的二叉树只有最小路径长度,那么从根结点到第的最多结点数为
【答案】√
【解析】求最小路径长度,即构成哈夫曼树,当哈夫曼树为 层具有最大的结点数为
28.堆是满二叉树。( )
【答案】× 【解析】堆的定义: n个关键字序列
且
且
称为堆,当且仅当该序列满足如下性质(简称为堆性质):
层全满时,
此时从根结点到第
余下的
个结点在第k层的任一位置上。( )
层具有
小根堆:满足第①种情况的堆; 大根堆:满足第②种情况的堆。 因此并不能保证堆是满二叉树。
四、算法设计题
29.设计算法将一棵以二叉链表存储的二叉树按顺序方式存储到一维数组中(注:按层从上到下,由左到右)。
【答案】算法如下:
typedef struc {DiTree data; int num;}tnode // num是结点在一维数组中的编号tnodc Q[maxsize]; //队列,容量足够大
void BiToSeqt{BiTree t,ELemType seq[]}
//本算法将二叉树的二叉链表存储结构转换为顺序存储结构seq {int front=0, rear:=0; tnode q; Bitree p; if(!t) exit(0);
for(i=1;i<maxsize;i++ ) seq[i]=‘#’;//初始化,#代表虚结点 tq.data=t;tq.num=l; Q[++rear]=tq;//根结点入队 while(front<rear)
{tq=Q[++front];p=tq.data;l=tq.num;seq[i]=p->data; //存入顺序存储结构 if(p->lchild){tq.data=p->lchild;tq.num=2*i;Q[++rear}//左子女入队 if(p->rchild){tq.data=p->rchild;tq.num=2*i+1;Q[++rear]=tq;}//右子女入队 } }
30.已知字符串
中存放一段英文,写出算法
其多余的字符送
31.设二叉排序树的各元素值均不相同,采用二叉链表作为存储结构,试分别设计递归和非递归算法按递减序打印所有左子树为空,右子树非空的结点的数据域的值。
【答案】(1)递归算法如下:
(2)非递归算法如下:
将其按给定的长度n格式化
成两端对齐的字符串
【答案】算法如下:
32.已知两个链表A和B分别表示两个集合,其元素递增排列。编一函数,求A与B的交集,并存放于A链表中。
【答案】算法如下:
33.设A和B均为下三角矩阵,每一个都有n行n列。因此在下三角区域中各有无素。另设有一个二维数组C,它有n行
个
列。试设计一个方案,将两个矩阵A和B中的下三
和B的矩
角区域元素存放于同一个C中。要求将A的下三角区域中的元素存放于C的下三角区域中,B的下三角区域中的元素转置后存放于C的上三角区域中。并给出计算A的矩阵元素阵元素在C中的存放位置下标的公式。
【答案】算法如下:
34.设记录
的关键字为
树结点
的败者树,要求除
指向败者记录,
和
为全胜记以外,只用
录下标。写一算法产生对应上述
辅助空间。 【答案】算法如下:
35.已知二叉树T,试写出复制该二叉树的算法(t→T)。
【答案】算法如下:
BiTree Copy(BiTree t)//复制二叉树t的非递归算法
/ /Q是二叉树的结点指针的队列,容量足够大
else
}//结束本题
36.设给定关键字输入序列为(100,90,120,60,78,35,42,31,15)用哈希法散列0-10的地址区间。要求设计一合理的哈希函数;冲突时用链表法解决,写出哈希算法,并构造出哈希表,在等概率查找情况下查找成功的平均查找长度是多少?
【答案】算法如下:
构造的哈希表如图所示:
图 构造的哈希表
查找成功时的平均查找长度
五、应用题
37.线性表有两种存储结构:一是顺序表,二是链表。试问:
(1)如果有,2个线性表同时并存,并且在处理过程中各表的长度会动态变化,线性表的总数也会自动地改变。在此情况下,应选用哪种存储结构?为什么?
(2)若线性表的总数基本稳定,且很少进行插入和删除,但要求以最快的速度存取线性表中的元素,那么应采用哪种存储结构?为什么?
【答案】(1)应选择链式存储结构。因为它可动态申请内存空间,不受表长度(即表中元素个数)的影响,插入、删除时间复杂度为O(1)。
(2)应选择顺序存储结构。因为顺序表可以随机存取,时间复杂度为O(1)。
38.给出一组关键字:29,18,25,47,58,12,51,10,分别写出按下列各种排序方法进行排序时的变化过程:
(1)归并排序,每归并一次书写一个次序。 (2)快速排序,每划分一次书写一个次序。
(3)堆排序,先建成一个堆,然后每从堆顶取下一个元素后,将堆调整一次。 【答案】(1)2—路归并第一趟:18,29,25,47,12,58,10,51: 第二趟:18,25,29, 47,10,12,51,58;
第三趟:10,12,18,25,29,47,51,58
(2)快速排序第一趟:10,18,25,12,29,58,51,47; 第二趟:10,18,25,12,29,47,51,88; 第三趟:10,12,18,25,29,47,51,88 (3)堆排序
建大堆:58,47,51,29,18,12,25,10; ①51,47,25,29,18,12,10,58; ②47,29,25,10,18,12,51,58; ③29,18,25,10,12,47,51,58; ④25,18,12,10,29,47,51,58; ⑤18,10,12,25,29, 47,51,58; ⑥12,10,18,25,29,47,51,58; ⑦10,12,18,25,29, 47,51,58
39.将下列出三棵树组成的森林转换为二叉树(只要求给出转换结果)。
图1
【答案】森林转换为二叉树分以下三步:
(1)连线(将兄弟结点相连,各树的根看作兄弟)。
(2)切线(保留最左边子女为独生子女,将其他子女分支切掉)。 (3)旋转(以最左边树的根为轴.顺时针向下旋转45度)。 所以由上面三棵树转换得到的二叉树如图2所示:
图2
40.如果两个串含有相等的字符,能否说它们相等?
【答案】仅从两串含有相等的字符,不能判定两串是否相等,两串相等的充分必要条件是两串长度相等且对应位置上的字符相同(即两串串值相等)。
41.设输入序列为2,3,4,5,6,利用一个栈能得到序列2,5,3,4,6吗?栈可以用单链表实现吗?
【答案】不能得到序列2,5,3,4,6。因为根据输入序列,2进栈之后,2出找,3,4,5依次进栈。5出栈,此时栈中剩下3,4。因为4在栈顶,所以4应该比3先出栈,不能得到提供的序列。栈可以用单链表实现,这就是链栈。由于栈只在栈顶操作,所以链栈通常不设头结点。
相关推荐:
- [教育文库]夜场KTV服务员的岗位职责及工作流程[1]
- [教育文库]企划、网络、市场绩效考核方案
- [教育文库]学党史、知党情、强党性--“党的基本理
- [教育文库]2016年高考物理大一轮总复习(江苏专版
- [教育文库]干部廉洁自律自查自纠的报告
- [教育文库]2010年北京大学心理学系拟录取硕士研究
- [教育文库]资金时间价值练习题及答案
- [教育文库]保护环境的心得体会
- [教育文库]英语角内容:英语趣味小知识
- [教育文库]档案收集与管理工作通知
- [教育文库]劳动规章制度范本范本
- [教育文库]高考物理一轮复习课后限时作业1运动的
- [教育文库]机械工艺夹具毕业设计195推动架设计说
- [教育文库]通用技术教学比赛说课稿2
- [教育文库]2018年四年级英语下册 Module 7 Unit 2
- [教育文库]第2章 宽带IP网络的体系结构
- [教育文库]九年级化学第五单元课题3《根据化学方
- [教育文库]小学英语六年级情态动词用法归纳
- [教育文库]甲级单位编制窑井盖项目可行性报告(立
- [教育文库]2016-2021年中国城市规划行业全景调研
- 高考英语听力十大场景词汇总结
- 全省领导班子思想政治建设座谈会会议精
- 人教版新课标高一英语提优竞赛试题 下
- 江西省2014年生物中考试题
- 长沙镇食品药品安全事故应急预案
- 《金刚石、石墨和C60》片段教学设计
- 福州教育学院(王旭东)
- 基于EDA音乐播放器的设计
- 9、古诗两首《夜书所见》《九月九日忆
- 小学语文课外阅读有效策略探讨
- 贵州文化产业发展成支柱产业的问卷调查
- 膀胱类癌的诊治体会(附3例报告)
- 发动机积碳产生的原因
- Configuring Code Composer Studio for
- 学生良好的心理素质如何培养点滴谈
- 46 电沉积法制备锂离子电池用硅-锂薄膜
- 美舍雅阁公司管理中各部门职责
- 去壳剥皮的小妙招
- 六自由度运动平台的仿真研究
- Pride and Prejudice(傲慢与偏见)




