数据结构之二叉树(链表)
来源:互联网 发布:淘宝车商城 编辑:程序博客网 时间:2024/06/03 18:14
链表实现二叉树的原理其实和数组实现的原理大同小异,但是因为是链表的缘故,所以操作的灵活性要比数组更加好,难度也比数组更高。链表实现二叉树,多了一个很关键的东西,那就是遍历的方法:前序遍历、中序遍历和后序遍历。
课程要求:完成树的基本操作
1、树的创建和销毁
2、树中结点的搜索
3、树中结点的添加和删除
4、树中结点的遍历
Tree(); //创建树
~Tree(); //销毁树
Node* SearchNode(int nodeindex); //根据索引寻找结点
bool AddNode(int nodeindex, int direction, Node* pNode); //添加结点
bool DeleteNode(int nodeindex, Node* pNode); //删除结点
void PreorderTraversal(); //前序遍历
void InorderTraversal(); //中序遍历
void PostorderTraversal(); //后序遍历
结点要素:索引 数据 左孩子指针 右孩子指针 父结点指针
前序遍历:0 1 3 4 2 5 6 (上到下)
a e b c h q
中序遍历:3 1 4 0 5 2 6 (左到右)
e a b h c q
后序遍历:3 4 1 5 6 2 0 (左右根)
e b a h q c
(0)
a(1) c(2)
e(3) b(4) h(5) q(6)
程序实现:
node.h
node.cpp
linktree.h
linktree.cpp
main.cpp
- 数据结构之二叉树(链表)
- 数据结构之二叉树
- 数据结构之二叉树
- 数据结构之二叉树
- 数据结构之二叉树
- 数据结构之二叉树
- 数据结构之二叉树
- 数据结构之二叉树
- 数据结构之二叉树
- 数据结构之二叉树
- 数据结构之二叉树
- 数据结构之二叉树
- 数据结构之二叉树
- 数据结构之二叉树
- 数据结构之二叉树
- 数据结构之二叉树
- 数据结构之二叉树
- 数据结构之二叉树
- elasticsearch环境搭建
- ssh key生成及GIT远程仓库的建立
- Educational Codeforces Round 26:C. Two Seals
- nginx设置Tomcat反向代理,并静态资源分离
- java运行时找不到或无法加载主类的解决
- 数据结构之二叉树(链表)
- set容器
- 浅谈引用<一> Java中的对象和对象引用
- react-native初学跳坑
- 数据库设计中的一些技巧
- HDU6070-Dirt Ratio
- sqlite3数据库ubuntu移植&arm开发板移植
- 数据结构之二叉树(数组)
- el表达式与ognl表达式区别?