树(tree)
树是一种数据结构,不同于栈、队列等线性表结构,树是一种非线性表结构。在树这种数据结构中,元素叫做“节点”,用来连接相邻节点之间的关系叫做“父子关系”。
如下图所示,A节点是B节点的父节点,B节点是A节点的子节点。B、C、D这三节点父节点相同,所以它们互称兄弟节点。E没有父节点,叫做根节点。没有子节点的节点叫做叶节点/叶子节点,如G节点就是叶节点。
关于“树”,还有三个比较相似的概念:高度(height)、深度(depth)、层(level)。下面是相关定义:
高度和深度看的是边数,而层数看的是节点数。可以通过下面例子来帮助理解。