![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二叉树
文章平均质量分 59
发烧的小龙虾
BUAAer
展开
-
求二叉树的宽度
啥是二叉树的宽度呢?就是每一层节点个数的最大值!这个和用非递归算法求二叉树的高度极其相似,就是多了一个擂台赛而已!#include <stdio.h>#include <string.h>#include <iostream>#include <stack>#include <queue>using namespace std;...原创 2018-04-01 09:13:48 · 877 阅读 · 0 评论 -
求二叉树的深度(递归算法+非递归算法)
#include <stdio.h>#include <string.h>#include <iostream>#include <stack>#include <queue>using namespace std;typedef struct bnode{ char data; struct bnode *...原创 2018-04-01 08:54:58 · 7846 阅读 · 0 评论 -
二叉树的先序、中序、后序的非递归遍历(分别用两个栈和一个带标志位的栈两种方法去做)和层次遍历
#include <stdio.h>#include <string.h>#include <iostream>#include <stack>#include <queue>using namespace std;#define MAXSIZE 20typedef struct bnode{ char data;...原创 2018-03-31 21:28:18 · 1265 阅读 · 0 评论 -
二叉树的应用:利用C语言编写简单的家谱管理系统
/*采用树型结构实现如下系统功能:1)输入文件以存放最初家谱中各成员的信息。 成员的信息中均应包含以下内容:姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡)也可附加其它信息、但不是必需的。2)实现数据的存盘和读盘。3)以图形方式显示家谱。4)显示第n代所有人的信息。5)按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)。6)按照出生日期查询成员名单。7)输入两人姓...原创 2017-07-11 23:07:41 · 22924 阅读 · 19 评论 -
二叉树:利用两个队列层次遍历输出指定层数的叶子节点
#include <stdlib.h>#include <stdio.h>#include <string.h>#include <iostream>#define MAXSIZE 100using namespace std;typedef struct bnode{ //树的定义 char data; struct ...原创 2017-07-06 16:34:27 · 683 阅读 · 0 评论 -
二叉树:已知先序遍历和中序遍历求后序遍历(同时也是华科某年上机题)
#include<bits/stdc++.h>using namespace std;/*已知先序和中序求后序*/void transfer(char *preorder,char *inorder,int len){ int i,left_len,right_len;//left_len,right_len分别表示每次找到根之后左右子树的节点个数 left_...原创 2018-04-20 16:21:02 · 980 阅读 · 0 评论 -
北邮:哈夫曼树(优先队列)
题目描述哈夫曼树,第一行输入一个数n,表示叶结点的个数。需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结点有权值,即weight,题目需要输出所有结点的值与权值的乘积之和。输入描述:输入有多组数据。每组第一行输入一个数n,接着输入n个叶节点(叶节点权值不超过100,2<=n<=1000)。输出描述:输出权值。示例1输入5 1 2 2 5 9输出37#include &l...原创 2018-05-05 09:15:26 · 474 阅读 · 0 评论 -
北邮:完全二叉树性质
题目描述有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。输入描述:输入有多组数据。每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。输出描述:输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没有空格。示例1输入41 2 3 42输出2 3这个题主要考察对完全二叉树性质的理解,完全二...原创 2018-05-07 15:44:55 · 892 阅读 · 0 评论 -
用一个队列输出指定层数的二叉树
#include <bits/stdc++.h>using namespace std;typedef struct bnode{ char data; struct bnode *lchild,*rchild;}BNode,*bitree;void create(bitree &bt){ char ch; ch=getchar...原创 2018-05-07 21:28:43 · 394 阅读 · 0 评论