树定义:

n(n>=0)个节点构成的有限集合。n=0时为空树。

树的性质:

树中有一个称为“根(root)”个互不相交的有限集T1,T2,…,Tm,其中每个集合本身又是一棵树,称为原来树的“子树(subtree)”

es 父子结构修改子节点适用于存储树形结构吗_子树


注意:子树是不相交的;

除了根结点以外,每个结点有且仅有一个父结点;

一棵N个结点的树有N-1条边。

这里写图片描述

基本术语:

1.结点的度(Degree):节点中的子树个数;

2.树的度:树的所有结点;

3.叶结点(Leaf):度为0的结点;

4.父结点(parent):有子树的节点是其字数的根节点的父结点;

5.子结点(Child):若A结点是B结点的父节点,则称B结点是A结点的子节点;子结点也称孩子结点。

6.兄弟结点(Sibling):具有同意父结点的各结点彼此是兄弟结点。

7.路径和路径长度:从结点n1到nk的路径为一个结点序列n1,n2,… ,nk,ni是ni+1的父结点。路径所包含边的个数为 路径的长度。

8.祖先结点(Ancestor):沿树根到某一结点路径上的所有结点都是这个结点的祖先结点。

9.子孙结点(Descendant):某一结点的子树中的所有结点是这个结点的子孙。

10. 结点的层次(Level):规定根结点在1层,其它任一结点的层数是其父结点的层数加1。

11.树的深度(Depth):树中所有结点中的最大层次是这棵树的深度。

树的表示:儿子兄弟表示法

基本操作和功能分层次组织在管理上具有更高的效率!

1.查找:根据某个给定关键字K,从集合R中找出关键字与K相同的记录。
静态查找:集合中记录是固定的没有插入和删除操作,只有查找。
eg:顺序查找(time complexity:O(n));二分查找(time complexity:0(logN))

动态查找:集合中记录是动态变化的除查找,还可能发生插入和删除。
动态查找:集合中记录是动态变化的除查找,还可能发生插入和删除。