go之树型结构深度理解
如果你是一个编程人员,或多或少对树型结构都有一定的认识,我个人对树型数据结构是又爱又恨。这篇文章主要讲解一些关于tree的数据结构以及使用。
什么是树?
数组、列表、队列、队列、堆栈都是以一个集合的形式存储数据,一般称它们被称为 "线性"存储结构。但当涉及到树(trees)和图(graphs)时,事情就会变得混乱,因为数据不是以线性方式存储的。
树被称为非线性数据结构。事实上,你也可以说树是分层数据结构,因为数据是以分层的方式存储的。
后面为了讲解方便统一叫tree
tree是由节点或顶点和边组成的数据结构,没有节点的树被称为空树,非空树由一个根节点和许多层级的附加节点组成,是一个具有层次的结构。
下面通过一个例子来看一下什么是 tree。
上面图中的数据结构是一个节点的组合&#x