数据结构 -- 树

1. 树的一些基本术语

  • 结点的度(Degree):节点的子树个数
  • 树的度: 树的所有节点中最大的度数
  • 叶结点(Leaf): 度为0的结点
  • 父结点(Parent): 有子树的结点是其子树的根结点的父结点
  • 子结点(Child):
  • 兄弟结点( Sibling):
  • 路径和路径长度:
  • 祖先结点(Ancestor):沿树根到某一结点路径上的所有结点都是这个结点的祖先结点
  • 子孙结点(Descendant):某一结点的子树中的所有结点
  • 结点的层数(Level): 规定根结点在1层
  • 树的深度(Depth):树中所有结点的最大层次

2.树的表示

2.1 儿子-兄弟表示法(二叉树的由来)

template<class T>
class ChildSibling
{
public:
    	T m_key;
    	ChildSibling *m_firstChild;
    	ChildSibling *m_nextSibling;
};

3.二叉树的定义

3.1 二叉树是树的度为2的树

3.2 二叉树的类型:

  • 斜二叉树(Skewed Binary Tree)
  • 完美二叉树(Perfect Binary Tree)/满二叉树(Full Binary Tree)
  • 完全二叉树(Complete Binary Tree)
原文地址:https://www.cnblogs.com/zjzyh/p/4420443.html