二叉树:每个结点至多只有两颗子树,且二叉树的子树有左右之分

  满二叉树:每一层都含有最多的节点

  完全叉树:除了最后一层,都含有最多的节点

  二叉排序树:

  平衡二叉树:树上任一结点的左子树和右子树的深度之差不超过1

  哈夫曼树:带权路径长度最小的二叉树 (最优二叉树) (将每个结点看做是一个树,每次选两个根结点权值最小的树作为新节点的左、右子树)

二叉树的遍历:

  前序遍历:先访问根节点-> 左子树 -> 右子树

  中序遍历:

  后序遍历:

  前、中、后序遍历的非递归遍历:借助栈

  层次遍历:接触队列

  根据前,中(后、中)序遍历得到二叉树:通过前/后序得到根结点,从而在中序遍历中找到根结点,将中序遍历的分成左子树,根结点,右子树。根据中序的左右子树,找到前/后的左右子树。前序右子树的第一个节点是根结点,左子树的第一个节点是根结点。以此递归下去,便能确定唯一的二叉树。

 

数、森林:

  1、双亲表示法

    每个结点增设一个伪指针,指向父结点

  2、孩子表示法

  3、兄弟表示法

posted @ 2020-05-21 23:01  lucy_cui  阅读(91)  评论(0)    收藏  举报