数据结构探险——树篇(代码实现)

imooc相关学习视频.

1、什么是树?

树是节点的有限集合
树中相关的概念
数据结构探险——树篇(代码实现)

数据结构探险——树篇(代码实现)

数据结构探险——树篇(代码实现)

2、什么是二叉树?

定义:所有结点的度都小于等于2

二叉树的遍历分为三种,这三种遍历方式是相对于根节点来说的
1)前序遍历—>遍历顺序是:根–左--右
2)中序遍历—>遍历顺序是:左–根--右
3)后序遍历—>遍历顺序是:左–右--根
数据结构探险——树篇(代码实现)

3、树的用途

1)压缩软件 --赫夫曼树
2)搜索 --人机对战

4、二叉树数组实现编码说明

关于数组与树之间的算法转换
int tree[n] 3 5 8 2 6 9 7
父亲结点下标✖2+1——该结点左
父亲结点下标✖2+2——该结点右
    3(0)
 5(1)      8(2)
2(3) 6(4) 9(5) 7(6)

二叉树(数组表示)
完成树的基本操作;
1)树的创建和销毁
2)树中节点的搜索
3)树中节点的添加与删除
4)树中节点的遍历
C语音表示:
BOOL CreateTree(Tree **pTree, Node *pRoot); //创建树
void DestroyTree(Tree *pTree); //销毁树
Node *SearchNode(Tree *pTree, int nodeIndex); //根据索引寻找节点
BOOL AddNode(Tree *pTree, int nodeIndex, int direction, Node *pNode); //添加节点
BOOL DeleteNode(Tree *pTree, int nodeIndex, Node *pNode); //删除节点
void TreeTraverse(Tree *pTree); // 遍历