- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DS习题答案02
第七章 集合与搜索树
1.第137页,第(5),
建立37,45,91,25,14,76,56,65为输入时的二叉搜索树,再从该树上依此删除76,45,则树形分别如何?
第137页,第(6)
试写一个判定任意给定的二叉树是否二叉搜索树算法。
int k=-?; bool fail=false;
template class T
void BTreeT::IsBiTree(BTNodeT *p,int k,bool fail)
{
if (p !fail){
IsBiTree(p-lchild,k,fail);
if(k p-element) k=p-element;
else fail=true;
IsBiTree(p-rchild,k,fail);
}
}
第137页,第(8)
以下列序列为输入,从空树开始构造AVL搜索树。
(1)A,Z,B,Y,C,X
(2)A,V,L,T,R,E,I,S,O,K
第137页,第(12)
5阶B-树的高度为2时,树中元素个数最少为多少?
答: 5
第137页,第(13)题
从空树开始,以关键字序列:a,g,f,b,k,d,h,m,j,e,s,i,r,x ,建立
(1) 4阶B-树;
(2) 5阶B-树。
4阶B-树
(2) 5阶B-树
第137页,第(14)题
从上题的4阶B-树上依次删除a,e,f,h。
第八章 散列与跳表
第154页,第(3)题
设散列表ht[11],散列函数h(key)=key % 11。采用线性探查法解决冲突,试用关键字值序
列:70,25,80,35,60,45,50,55 建立散列表。
第154页,第(6)题
给出用拉链方法解决冲突的散列表搜索操作的C++函数实现。
templateclass T
bool LinkedHashTableT ::Search(const K k,Ee)const
{
int i=k % M,j;
HNodeT* p=ht[i];//元素结点类型HnodeT
while (p){
if(p-element==k)return true;
p=p-nextsynonym;
}
return false;
}
第154页,第(3)题
设散列表ht[11],散列函数h(key)=key % 11。采用二次探查法解决冲突,试用关键字值
序列:70,25,80,35,60,45,50,55 建立散列表。
第154页,第(4)题
对上题的例子,若采用双散列法,试以散列函数h1(key)=key % 11,h2(key)= key % 9+1
建立散列表。
第九章 图
第188页,第(1)题
对下面的有向图求
(1) 每个顶点的入度和出度;
(2) 强连通分量
(3) 邻接矩阵
第188页,第(2)题
当以边〈1,0〉,〈1,3〉,〈2,1〉,〈2,4〉,〈3,2〉,〈3,4〉,〈4,0〉,〈4,1〉,〈4,5〉,
〈5,0〉的次序从只有6个顶点没有边的图开始,通过依此插入这些边,建立邻接表结构。
画出该邻接表。
第188页,第(4)题
已知有向图的邻接表,试写出计算各顶点的入度的算法。
templateclass T
void LinkedGraphT ::Degree()
{
int *d=new int[n];int i;
ENodeT* p;
for ( i=0;in;i++) d[i]=0;
for ( i=0;in;i++){
p=a[i];
while (p){
d[p-adjvex]++;
p=p-nextarc;
}
}
for ( i=0;in;i++) coutd[i]=d[i];
}
第188页,第(6)题
在题2所建立的邻接表上进行以顶点2为起始顶点的深度优先搜索和广度优先搜索。分别
画出遍历所得到的深度优先搜索和广度优先搜索的生成森林(或生成树)。
第188页,第(8)题
分别设计算法,在邻接矩阵上实现有向图的深度优先搜索.
templateclass T
void MGraphT ::DFS(int v,bool visited[])
{
visited[v]=true;
cout v;
for ( int j=0;jn;j++)
if (a[v][j]!visited[j])
DFS(j,visited);
}
第188页,第(10)题
设
您可能关注的文档
最近下载
- 2024-2025学年高中思想政治必修1 中国特色社会主义统编版(部编版)教学设计合集.docx
- 员工培训---病理.ppt
- 2025年上海市数学高考一轮复习精讲精练 第10讲空间向量与立体几何(11类核心考点精讲精练)含详解.docx
- 养老院活动记录表(新版).doc VIP
- 二年级上学期数学基础知识《填空题》专项练习及一套完整答案.docx
- 建设工程质量资料管理.ppt VIP
- 酒店智能弱电系统工程设计模板.doc VIP
- 烟草种植气象服务规范.pdf VIP
- 2023上海高三二模优秀作文汇编.doc
- 第5 2课《学习工匠事迹,领略工匠风采》(课件)-【中职专用】高二语文同步精品课件(高教版2023·职业模块).pptx VIP
文档评论(0)