![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
起风了
计算机科学与技术学院18软件工程专业渣渣铭
目前大三,不考研,专攻Java,追求:成为全栈攻城狮。
展开
-
Codeup——612 | 问题 B: 树的高度
题目描述一棵树有n个节点,其中1号节点为根节点。输入第一行是整数n,表示节点数后面若干行,每行两个整数a b,表示b是a的子节点。输出求这棵树的高度(根节点为第1层)样例输入51 21 33 43 5样例输出3思路:在定义的结构体tree中加上一个int型变量layer表示该结点的深度。此题用一个BFS把这棵树遍历一次,最后输出最后遍历的结点的深度,此时的深度即是这棵树的高度,在输入的过程中,先输入一个n,再输入n-1个数,为什么是n-1呢?因为这是一颗树,这棵树有n个结点原创 2020-10-24 17:44:28 · 435 阅读 · 0 评论 -
Codeup——612 | 问题 A: 树查找
题目描述有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。输入输入有多组数据。每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。输出输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没有空格。样例输入51 2 3 4 5 771 2 3 4 5 6 7 20样例输出EMPTY2 3思路:根据完全二叉树的性质对题目进行分析,先判断给出的深度是否合理,若不合理则直接输原创 2020-10-24 17:01:21 · 303 阅读 · 0 评论 -
【算法竞赛树专题】数据结构——一般意义的树的遍历
前面有篇文章提到了二叉树的一些基本操作,此文就来介绍一下一般意义上的树的遍历操作。树的静态写法什么是树的静态写法呢?顾名思义其实就是用数组去模拟一棵树,也就是用数组下标来代替所谓的地址,当然这需要事先开一个大小不低于结点上限个数的结点数组,因此结构体tree的定义如下:struct tree { typename data; //数据域 int child[MAXN]; //子结点的下标}node[MAXN]; //结点数组,MAXN为结点上限此时你可能会想,由于无法预知子结点的个数,因此c原创 2020-10-24 15:20:54 · 360 阅读 · 4 评论 -
数据结构——树的基本概念及二叉树的基本操作
树树被定义为由若干个结点和若干条边组成的数据结构树的基本概念和性质:1、树可以没有结点,这种情况下把树称为空树(empty tree)2、树的层次从根节点开始算起,即根为第一层,其子结点为第二层,以此类推3、把结点的子树棵树称为结点的度,而结点中最大的度称为树的度4、由于一条边连接两个结点,且树中不存在环,因此对n个结点的树,边数一定是n-1,且满足连通、边数等于顶点数减1的结构一定是一棵树5、叶子结点被定义为度为0的结点,因此当树中只有一个结点时,根结点也算是叶子结点6、结点的深度是指从根原创 2020-10-11 19:58:00 · 310 阅读 · 0 评论