前言
二叉树是计算机科学中最基础的树形数据结构之一,在数据库索引、文件系统等领域广泛应用。本文通过C语言实现包含插入、遍历等基本操作的二叉树,特别针对初学者设计,包含完整代码注释和遍历过程图解。
一、二叉树基础知识
核心特性:
-
每个节点最多有两个子节点(左/右子节点)
-
特殊的树结构:二叉搜索树、平衡二叉树、满二叉树等
-
常用遍历方式:广度优先(BFS)、深度优先(DFS)
二、代码结构解析
1. 节点结构定义
c
typedef struct Node { int key; // 节点存储的值 struct Node* lchild; // 左子节点指针 struct Node* rchild; // 右子节点指针 } Node;
内存结构:
+--------+--------+--------+ | key | lchild | rchild | +--------+--------+--------+
2. 节点创建函数
c
Node* getNewNode(int key) { Node* p = (Node*)malloc(sizeof(Node)); p->key = key; // 设置节点值 p->lchild = p->rchild = NULL; // 初始化子节点指针 retur