什么是树?树长什么样?树的数据结构怎么定义?树的数据怎么遍历?树的数据怎么进行增删改查操作…等等,对于初学者来说,这都是经常会困恼我们的问题,通过树系列我们将一一来解答这些问题
今天我们先来了解树的基本定义和二叉树的定义
进入正文之前,我们先简单了解一下线性数据结构和非线性数据结构,
线性数据结构:数据元素之间存在一对一的线性关系,我们熟知的数组、链表、栈和队列都是线性的数据结构。
什么是非线性数据结构呢?
我们今天所讨论的树就是典型的非线性数据结构——数据元素之间存在一对多的关系。如下图所示为树的基本结构。
由以上的树的结构图,我们可以概括,树的定义为:树是n(n>=0)个节点的有限集。
(至于树的节点保存什么内容,节点和节点之间是如何关联的,我们以后再讨论。)
任意一棵非空的树中,它有以下几个特点:
(1)有且仅有一个根(Root)节点——A节点就是根节点
(2)当n>1时,除了根节点的其他节点可以分成m(m>0)个互不相交的