数据结构之二叉树创建及遍历
二叉树:一种树状结构,一棵二叉树的“结点”(Node)最多只能拥有2个子结点,也就是度小于或等于2。二叉树:一种树状结构,一棵二叉树的“结点”(Node)最多只能拥有2个子结点,也就是度小于或等于2。
定义如下:
1)二叉树的结点个数是有限,而且可以没有结点。
2)一棵二叉树的树根下可以分为两个子树称为“左子树”(Left Subtree)和“右子树”(Right Subtree)
二叉树链表结构表示法
是使用动态内存分配创建二叉树,我们使用结点结构的左、右指针变量字段链接树状结构的父节点与子结点。
所以除了存储结点的基本数据外,每一个二叉树结点至少应该拥有两个字段存放左子树和右子树的指针。
二叉树使用的基本结构声明如下:
typedef struct tree
{
int data;
struct tree* left;
struct tree* right;
}treenode, *btree;
data是存储二叉树结点的数据,
left和right分别存储的是左子树和右子树的结构指针地址。
1. 二叉树的创建代码如下如下:
int main(){btree root = NULL;int data[10] = {5, 6, 4, 8, 2, 3, 7, 1, 9};root = create_btree(data, 9);printf("树的结点内容\n");print_btree(root);printf("=================================\n");printf("Inorder Traversal Result:\n");inorder(root);printf("Preorder Traversal Result:\n");preorder(root);printf("Postorder Traversal Result:\n");postorder(root);system("pause");return 0;}内容来自于《数据结构C语言版》