树的基本概念
存储逻辑关系为一对多的数据,树型结构可以保证数据的插入,删除,修改速度;
<1>树由节点和边组成;
<2>树中除根节点外,每一个节点都有一个父节点,但是可以有多个子节点;
<3>根节点没有父亲节点;
二叉树
二叉树具有天然的递归结构,每个节点的左右子树均为二叉树,完全二叉树也是我们主要的研究对象。(二叉树不一定是满的)
只有完全二叉树的存储才有意义,分为两种存储方式:
<1>利用数组进行存储 :对二叉树每个节点进行编号,通过编号获取相应数据;
<2> * 链式存储:节点中保存左右孩子的地址;
数据类型的设计:
二叉树的遍历(traversing binary tree):
指从根节点出发,按照某种次序依次访问二叉树中的所有节点,使得每个节点被访问且只被访问一次 ,有深度遍历(DFS)和广度遍历两种(BFS)。深度遍历有前序,中序以及后序三种遍历方法,广度遍历即层次遍历(层次遍历需要队列作为数据结构来支撑)。