树
二叉树:每个结点至多只有两颗子树,且二叉树的子树有左右之分
满二叉树:每一层都含有最多的节点
完全叉树:除了最后一层,都含有最多的节点
二叉排序树:
平衡二叉树:树上任一结点的左子树和右子树的深度之差不超过1
哈夫曼树:带权路径长度最小的二叉树 (最优二叉树) (将每个结点看做是一个树,每次选两个根结点权值最小的树作为新节点的左、右子树)
二叉树的遍历:
前序遍历:先访问根节点-> 左子树 -> 右子树
中序遍历:
后序遍历:
前、中、后序遍历的非递归遍历:借助栈
层次遍历:接触队列
根据前,中(后、中)序遍历得到二叉树:通过前/后序得到根结点,从而在中序遍历中找到根结点,将中序遍历的分成左子树,根结点,右子树。根据中序的左右子树,找到前/后的左右子树。前序右子树的第一个节点是根结点,左子树的第一个节点是根结点。以此递归下去,便能确定唯一的二叉树。
数、森林:
1、双亲表示法
每个结点增设一个伪指针,指向父结点
2、孩子表示法
3、兄弟表示法

浙公网安备 33010602011771号