数据结构与算法 非线性数据结构-树
树的基本概念
- 父节点:在树结构中,每一个节点只有一个前件,称为父节点,没有前件的称为根节点,简称树的根。
- 子节点和叶子节点:在树结构中每一个结点可以有多个后件,称为该结点的子节点,没有后件的节点称为叶子节点。
- 度:在树结构中,一个结点所拥有的后件个数称为该结点的度,所有结点中最大的度称为树的度。
- 深度:定义一棵树的根结点所在的层次为1,其他结点所在的层次等于它的父结点所在的层次加1。树的最大层次称为树的深度。
- 子树:在树中,以某结点的一个子结点为根构成的树称为该结点的一棵子树。
**树(Tree)**是一个分层的数据结构,由节点和连接节点的边组成。树是一种特殊的图,它与图最大的区别是没有循环。
树被广泛应用在人工智能和一些复杂算法中,用来提供高效的存储结构。
树有很多分类:
- N叉树(N-ary Tree)
- 平衡树(Balanced Tree)
- 二叉树(Binary Tree)
- 二叉查找树(Binary Search Tree)
- 平衡二叉树(AVL Tree)
- 红黑树(Red Black Tree)
- 2-3树(2–3 Tree)