一、二叉树结构基础
一般而言,对于一棵普通二叉树是通过链式结构定义,即每个节点包含三个部分:
- 数据域(data):用于存储节点的值
- 左指针(left):用于指向左子节点
- 右指针(right):用于指向右子节点
typedef int BTDataType;
struct BinaryTree {
BTDataType data;
struct BinaryTree* left;
struct BinaryTree* right;
};
在学习二叉树的基本操作前,需先创建一棵二叉树。可以通过手动快速创建一棵简单的二叉树。

代码实现如下:
BTNode* BuyNode(int x) {
BTNode* root = (BTNode *)malloc(sizeof(BTNode));
if (root == NULL) {
perror("malloc fail");
return NULL;
}
root->data = x;
root->left = NULL;
root->right = NULL;
return root;
}
BTNode* TreeCreate() {
BTNode* node1 = BuyNode(1);
BTNode* node2 = BuyNode(2);
BTNode* node3 = BuyNode(3);
BTNode* node4 = BuyNode(4);
BTNode* node5 = BuyNode(5);
BTNode* node6 = BuyNode(6);
node1->left = node2;
node1->right = node4;
node2->left = node3;
node2->right = node6;
node4->left = node5;
node1;
}










