广工anyview数据结构习题第七章,

在学习过程中部分题目参考了Giyn 、戮漠、雁过留痕等大佬的代码,在此感谢。

题目解法不是最优解,但希望能给大家有所启发。同时也发了文档资源,需要可自取。

目录

DC07PE15

DC07PE17

DC07PE22

DC07PE24

DC07PE26

DC07PE63


DC07PE15

试编写算法,对一棵以孩子兄弟链表表示的树统计叶子的个数。孩子兄弟链表类型定义∶

typedef struct CSTNode {
TElemType data;
struct CSTNode *firstChild,*nextSibling;

} CSTNode,*CSTree;
要求实现下列函数∶
int Leave(CSTree T); /* 统计树T的叶子数 */

#include "allinclude.h"  //DO NOT edit this line
int Leave(CSTree T)
{   // Add your code hereif(T==NULL)return 0;
if(T->firstChild==NULL)return (1+Leave(T->nextSibling));
else return ( Leave(T->nextSibling) + Leave(T->firstChild) );}

DC07PE17

试编写算法,求一棵以孩子兄弟链表表示的树的度。孩子兄弟链表类型定义∶

typedef struct CSTNode {
TElemType data;
struct CSTNode *firstChild, *nextSibling;

} CSTNode,*CSTree;
要求实现下列函数∶
int Degree(CSTree T); /* 求树T的度*/

#include "allinclude.h"  //DO NOT edit this line
int Degree(CSTree T)
{   // Add your code here
if(T==NULL)return 0;
void Degree1(CSTree T, int &maxnum);
int maxnum=0;Degree1(T,maxnum);
return maxnum;
}void Degree1(CSTree T, int &maxnum)
{
if(T==NULL)return ;
if(T->firstChild!=NULL)
{int n=1;CSTree temp=T;temp=temp->firstChild;while(temp->nextSibling!=NULL){temp=temp->nextSibling;n++;}maxnum= maxnum>n ? maxnum : n;
}  Degree1(T->firstChild,maxnum); Degree1(T->nextSibling,maxnum);
}

DC07PE22

试编写算法,对以双亲表示法存储的树计算深度。树的双亲表示法的类型定义如下∶

typedef struct {
TElemType data;
int  parent;  //双亲位置

} PTNode;  //结点类型

typedef struct {
PTNode nodes[MAX_TREE_SIZE]; // 结点存储空间

int n,r; // 结点数和根的位置

}PTree;
要求实现以下函数∶
int PTreeDepth(PTree T); /*求树T的深度 */

#include "allinclude.h"  //DO NOT edit this line
int PTreeDepth(PTree T)
{   // Add your code here
if(T.n==0)return 0;
int max=0,i=T.n,num;
PTNode temp;
while(i>0)
{num=0;temp=T.nodes[--i];while(temp.parent!=-1){num++;temp=T.nodes[temp.parent];}if(num>max)max=num;
}
return max+1;       //加上根结点}

DC07PE24

试编写算法,对以双亲孩子表示法存储的树计算深度。
孩子链表类型定义∶
typedef struct ChildNode {
int childIndex;         // 孩子结点
struct ChildNode *nextChild;

}ChildNode;         //孩子节点类型
typedef struct {
TElemType data;

int parent;               // 双亲位置
struct ChildNode *firstChild; // 孩子链表头指针
}PCTreeNode;         // 结点类型

typedef struct {
PCTreeNode *nodes;  //结点存储空间
int n,r;    //结点数和根的位置

} PCTree;

要求实现下列函数∶
int PCTreeDepth(PCTree T);  /* 求树T的深度*/

#include "allinclude.h"  //DO NOT edit this line
int PCTreeDepth(PCTree T)
{    // Add your code here
if(T.n==0)return 0;
int max=0,i=T.n,num;
PCTreeNode temp;
while(i>0)
{num=0;temp=T.nodes[--i];while(temp.parent!=-1){num++;temp=T.nodes[temp.parent];}if(num>max)max=num;
}
return max+1;       //加上根结点}

DC07PE26

试编写算法,对以孩子-兄弟链表表示的树计算深度。孩子兄弟链表类型定义∶

typedef struct CSTNode {
TElemType data;
struct CSTNode *firstChild,*nextSibling;

} CSTNode,*CSTree;
要求实现下列函数∶

int TreeDepth(CSTree T);  /*求树T的深度*/

#include "allinclude.h"  //DO NOT edit this line
int TreeDepth(CSTree T)
{   // Add your code here
if(T==NULL)return 0;
int dep1,dep2,dep;
dep1=TreeDepth(T->firstChild);
dep2=TreeDepth(T->nextSibling);
dep= (dep1+1)>dep2 ? (dep1+1) : dep2;return dep;
}

DC07PE63

试编写非递归算法,实现并查集带路径压缩的查找操作。并查集的类型定义如下∶

typedef struct {

int *parent;

int n;

}MFSet;

实现下列函数∶
int find(MFSet S,int i);
/* 并查集带路径压缩的查找的非递归实现 */

#include "allinclude.h"  //DO NOT edit this line
int find(MFSet S, int i)
{   // Add your code here
if(i<0 || i>=S.n)return -1;
if(S.parent[i]<0)return i;int temp=i,temp1=i;
while(S.parent[temp]>=0){temp=S.parent[temp];}while(temp1!=temp)
{temp1=S.parent[i];
S.parent[i]=temp;
i=temp1;
}       return temp;
}

广工anyview数据结构第七章(2021.12)相关推荐

  1. 广工anyview数据结构第四章(2021.12)

    广工anyview数据结构习题第四章, 在学习过程中部分题目参考了Giyn .戮漠.雁过留痕等大佬的代码,在此感谢. 题目解法不是最优解,但希望能给大家有所启发.同时也发了文档资源,需要可自取. 目录 ...

  2. 2021 广工 Anyview 数据结构第 5 章

    /********** [题目]试编写如下定义的递归函数的递归算法:g(m,n) = 0 当m=0,n>=0g(m,n) = g(m-1,2n)+n 当m>0,n>=0 ****** ...

  3. 广工Anyview数据结构2021-C语言版--第一章

    将三个整数按升序重新排列 算法思考: //首先随机比较三选二     /*     算法实现原理:     若a<b,则交换a,b,使得a>b,进而继续比较a.c,若a<c,则交换a ...

  4. 广工 AnyviewC 数据结构习题 第四章

    广工 AnyviewC 数据结构习题 第四章 广工 AnyviewC 数据结构习题 第四章 1[题目]已知某哈希表的装载因子小于1,哈希函数H(key) 2[题目]假设哈希表长为m,哈希函数为H(x) ...

  5. 广工 AnyviewC 数据结构习题 第五章

    广工 AnyviewC 数据结构习题 第五章 广工 AnyviewC 数据结构习题 第五章 1[题目]试编写如下定义的递归函数的递归算法: 2[题目]试写出求递归函数F(n)的递归算法: 3[题目]求 ...

  6. 厦门大学c语言第七八章作业答案,数据结构第七章考试题库(含答案).doc

    数据结构第七章考试题库(含答案).doc 第七章 图一.选择题1图中有关路径的定义是( ).[北方交通大学 2001 一.24 (2分)]A由顶点和相邻顶点序偶构成的边所形成的序列 B由不同顶点所形成 ...

  7. 数据结构题及c语言版严第七章答案,数据结构第七章习题答案.doc

    数据结构第七章习题答案 PAGE PAGE 9 第7章 <图>习题参考答案 一.单选题(每题1分,共16分) ( C )1. 在一个图中,所有顶点的度数之和等于图的边数的 倍. A.1/2 ...

  8. 大话数据结构 第七章 图(二) 最小生成树、最短路径、拓扑排序、关键路径算法

    大话数据结构 第七章 图(二) 最小生成树.最短路径.拓扑排序.关键路径算法 最小生成树 定义 Prim算法 Kruskal算法 最短路径 Dijkstra算法 Floyd算法 拓扑排序 AOV网 拓 ...

  9. 数据结构题及c语言版答案第七章,数据结构第七章习题答案

    第七章 图 1.下面是一个图的邻接表结构,画出此图,并根据此存储结构和深度优先搜索算法写出从C开始的深度优先搜索序列. 0 A 1 3 ^ 1 B 3 5 ^ 2 C 3 0 ^ 3 D 4 ^ 4 ...

  10. C语言数据结构-第七章图-电大同步进度

    第七章图 内容简介 图结构中结点之间的关系是任意的,每个元素都可以和其他任何元素相关,即元素之间是多对多的关系. 图作为一种非线性数据结构,被广泛应用于多个技术领域,例如系统工程.化学分析.统计力学. ...

最新文章

  1. 国产首款脑机编解码集成芯片发布
  2. 自学了python基础英语_Python自学路线图之Python基础自学
  3. 怎么从转移特性曲线上看dibl_「科普向」这篇让你快速搞懂IGBT的静态特性
  4. STM32F103_步进电机
  5. java redis pipeline,巧用 Redis pipeline 命令,解决真实的生产问题
  6. SQLyog数据库:主键外键代码添加
  7. 热敏电阻、RTD、热电偶的原理和特性
  8. 什么是软件验收测试?验收测试的标准和流程介绍
  9. vscode插件快餐教程(3) - Diagnostic
  10. python摄像头识别快递单号,python 人脸识别以及条码识别(快递出库软件)
  11. 【BZOJ4598】[Sdoi2016]模式字符串 树分治+hash
  12. GD32450i-EVAL学习笔记 1 - 准备工作
  13. [C]验证哥德巴赫猜想(输入一个偶数始终等于两个素数之和,附个人编写的代码)
  14. 【项目】数仓项目(八)
  15. 怎么计算机械加工产能,生产计划人员如何计算一个工厂生产产能?..doc
  16. agc001E BBQ Hard
  17. RPA077-调用飞书API发送文件(.net→c#)
  18. Android获取通话记录
  19. 单片机编程软件很简单(14),Keil单片机编程软件断点设置
  20. 地平线语音识别算法实习面试

热门文章

  1. Jpa 注解详解 映射详解 一对多 多对一
  2. U-Net网络模型(添加通道与空间注意力机制)代码---亲测提高精度
  3. win10系统安装virtualbox虚拟机win7系统过程记录
  4. python输入名字配对情侣网名_情侣名字配对网名可爱
  5. android项目图片分辨率转换工具
  6. 2023北京国际老年产业博览会/养老产业展/养老服务业展
  7. 分享一下申请CSDN博客专家成功后的好处
  8. 为什么微博超话显示服务器有点累,微博超话帖子被吞是什么原因?使用时,注意这些事项...
  9. phalapi做登录检测_Phalapi使用教程
  10. ubuntu16.04/20.04 xfce4以及windows下面使用护眼软件redshift