二叉树的定义
二叉树是n个结点的有限集合,该集合或者为空集,或者由一个根节点和两颗互不相交的、分别称为左子树和右子树的二叉树组成。
二叉树的建立(递归)
树形结构多用递归来求解。
定义二叉树结构体:
typedef struct TreeNode
{int date;struct TreeNode *left;struct TreeNode *right;
}Node;
创建二叉树:
Node* create()
{Node *p;int n;cin >> n;if(n==0)p = null;else{p = (Node*)malloc(sizeof(Node));p->date = n;p->left = create();p->right = create();}return p;
}
二叉树创建顺序为先中心节点,然后左子树和右子树,到了叶节点后左右子树赋值为0。例如二叉树: 1
2 3
要输入1 2 0 0 3 0 0
完整代码:
#include<bits/stdc++.h>
using namespace std;
typedef struct TreeNode
{int date;struct TreeNode *left;struct TreeNode *right;
}Node;
Node* create()
{Node *p;int n;cin >> n;if(n==0)p = NULL;else{p = (Node*)malloc(sizeof(Node));p->date = n;p->left = create();p->right = create();}return p;
}
int main()
{Node *root = NULL;root = create();cout << "创建成功";
}
本文发布于:2024-01-31 11:51:44,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170667310728322.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |