用非递归算法实现:统计二叉树中度为1的结点个数、度为2的结点个数和度为0的结点个数.
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/10 21:49:55
用非递归算法实现:统计二叉树中度为1的结点个数、度为2的结点个数和度为0的结点个数.
是非递归算法,数据结构的(C语言版)
是非递归算法,数据结构的(C语言版)
调用时使用如下方式即可:
int result[3] = {0};
getNum(root, result);//其中root为根结点指针
typedef struct listnode{
TreeNode *root;
struct listnode * next;
}LISTNODE;
void getNum(TreeNode *root, int result[3])
{
LISTNODE * head, *rear *tmp;
head = NULL;
rear = NULL;
if (root != NULL)
{
rear = (LISTNODE *)malloc(sizeof(LISTNODE));
rear->root = root;
rear->next = NULL;
head = rear;
}
while(head != NULL)
{
int pos = 0;
if (head->root->left != NULL )
{
pos++;
rear->next = (LISTNODE *)malloc(sizeof(LISTNODE));
rear = rear->next;
rear->root = head->root->left;
rear->next = NULL;
}
if (head->root->right != NULL)
{
pos++;
rear->next = (LISTNODE *)malloc(sizeof(LISTNODE));
rear = rear->next;
rear->root = head->root->right;
rear->next = NULL;
}
result[pos]++;
tmp = head;
head = head->next;
free(tmp);
}
}
int result[3] = {0};
getNum(root, result);//其中root为根结点指针
typedef struct listnode{
TreeNode *root;
struct listnode * next;
}LISTNODE;
void getNum(TreeNode *root, int result[3])
{
LISTNODE * head, *rear *tmp;
head = NULL;
rear = NULL;
if (root != NULL)
{
rear = (LISTNODE *)malloc(sizeof(LISTNODE));
rear->root = root;
rear->next = NULL;
head = rear;
}
while(head != NULL)
{
int pos = 0;
if (head->root->left != NULL )
{
pos++;
rear->next = (LISTNODE *)malloc(sizeof(LISTNODE));
rear = rear->next;
rear->root = head->root->left;
rear->next = NULL;
}
if (head->root->right != NULL)
{
pos++;
rear->next = (LISTNODE *)malloc(sizeof(LISTNODE));
rear = rear->next;
rear->root = head->root->right;
rear->next = NULL;
}
result[pos]++;
tmp = head;
head = head->next;
free(tmp);
}
}
已知某二叉树的叶子结点的个数为10个,度为1的结点个数为8个,求该二叉树结点总数
结点为什么在深度为7的满二叉树中,度为2的结点个数为多少 和深度为5的满二叉树有几个叶子结点的算法不同
求二叉树的结点个数算法
有一个完全二叉树有1000个结点,试分别求出度为2 及叶子结点的个数
满二叉树的叶结点个数为N,则它的结点总数为
设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1.则树T中叶子结点个数是多少?
二叉树有n个度为2的节点,该二叉树中叶子结点个数为多少
设树T的度为4,其中度为1、2、3、4的结点的个数分别为4、2、1、1,则T中叶子结点的个数为多少?
一个完全二叉树中,如果叶子结点的个数为n.则这颗二叉树一共有几个结点
在深度为7的满二叉树中,度为2的结点个数为20,怎么算的?
如果知道完全二叉树上有1001个结点,其叶子结点的个数为多少?
数据结构C递归的方法 前序 中序 后序 交换二叉树每个结点的左孩子和右孩子 结点个数 深度 叶结点个数