Binary Tree

来源:互联网 发布:网络个人信息安全问题 编辑:程序博客网 时间:2024/06/10 09:31

概念:
节点度数不超过2的树,即为二叉树。
h表示树高,n表示节点个数,我们有一下结论:

  1. n=h+1 时,二叉树退化成一个单链
  2. n=2^(h+1)-1 时,为满二叉树

二叉树是由节点组成的结构,其中每个节点具有3个分量:

数据元素
左指针
右指针

如果二叉树是空的,它由空指针表示。

template<typename T>class BinaryTree {    T data;    BinaryTree *left, *right;public:    BinaryTree(T node_data ) {        data = node_data;        left = NULL;        right = NULL;    }};

二叉树的一些性质:

  1. 高度为h的满二叉树有2^(h+1)-1个节点
  2. 满二叉树高度为h的节点有2^h个

二叉树的遍历:

先序遍历:中 | 左 | 右 (V | L | R)

中序遍历:左 | 中 | 右 (L | V | R)

后序遍历:左 | 右 | 中 (L | R | V)

遍历实现:

0 0
原创粉丝点击