数据结构--【二叉树】重难点总结
关注我
重点:
二叉树的存储结构
三种遍历算法的区别
难点:
三种遍历算法的理解和应用
链式存储结构--二叉链表存储结构
| lchild |
data |
rchild |
data表示数据域,存储对应的数据元素
lchild表示左指针域,存储此元素左孩子结点的位置
rchild表示右指针域,存储此元素右孩子结点的位置
注意:叶子结点左右指针域为空NULL。
1. 二叉树为空,退出
2. 不空,则 访问根节点,先序遍历左子树,先序遍历右子树。
Void Preorder(BTNode *p){if(p != NULL){Visit(p);Preorder(p -> lchild);Preorder(p -> rchild);}}
1. 二叉树为空,退出
2. 不空,则 中序遍历左子树,访问根节点,中序遍历右子树。
Void inorder(BTNode *p){if(p != NULL){inorder(p -> lchild);Visit(p);inorder(p -> rchild);}}
1. 二叉树为空,退出
2. 不空,则 后序遍历左子树,后序遍历右子树,访问根节点。
Void Postorder(BTNode *p){if(p != NULL){Postorder(p -> lchild);Postorder(p -> rchild);Visit(p);}}
