go之樹型結構深度理解
如果你是一個編程人員,或多或少對樹型結構都有一定的認識,我個人對樹型數據結構是又愛又恨。這篇文章主要講解一些關于tree的數據結構以及使用。
什么是樹?
數組、列表、隊列、隊列、堆棧都是以一個集合的形式存儲數據,一般稱它們被稱為 "線性"存儲結構。但當涉及到樹(trees)和圖(graphs)時,事情就會變得混亂,因為數據不是以線性方式存儲的。
樹被稱為非線性數據結構。事實上,你也可以說樹是分層數據結構,因為數據是以分層的方式存儲的。
后面為了講解方便統一叫tree
tree是由節點或頂點和邊組成的數據結構,沒有節點的樹被稱為空樹,非空樹由一個根節點和許多層級的附加節點組成,是一個具有層次的結構。
下面通過一個例子來看一下什么是 tree。
上面圖中的數據結構是一個節點的組合&#x