PHP面试整理(三)数据结构基础-树

2019-09-01 21:25:18

即将毕业的PHP小学生,在网上看了很多面试资料和相关东西,在这里记录下来,有些地方可能会涉及到别人的原创,但是当时做笔记时候没有添加,如果冒犯,请告诉我,我会补充上注明来源。(学习路上有很多错误,和忽略的地方,希望大家能多多指正,谢谢!!!)

(维基百科 :https://zh.wikipedia.org/wiki/%E6%A0%91_(%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84)

 

 (书上的定义)

二叉树:是n个结点的有限集合,该集合或者维空集(空二叉树),或者由一个根节点和两棵互不相交的、分别称为根节点的左子树和右子树的二叉树组成。

特点:

  • 每个结点最多有两棵子树
  • 二叉树是有序的

满二叉树:在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有野子都在同一层上,这样的二叉树称为满二叉树。

特点:

  • 叶子只能出现在最下一层
  • 只有度为0或度为2的结点

完全二叉树:对一棵具有n个结点的二叉树按层序编号,如果编号为 i (1≤ i ≤ n)的结点于同样深度的满二叉树中编号为 i 的结点在二叉树中的位置完全相同,则这颗二叉树称为完全二叉树。

特点:

  • 叶子结点只能出现在最下两层,且最下层的叶子结点都集中在二叉树左侧连续的位置
  • 如果有度为1的结点,只可能有一个,且该结点只有左孩子

二叉树的遍历操作:
前中后序遍历根左右,左根右,左右根

二叉查找树(二叉搜索树,有序二叉树,排序二叉树):是指一棵空树或者具有下列性质的树:

  1. 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值;
  2. 若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值;
  3. 任意节点的左、右子树也分别为二叉查找树;
  4. 没有键值相等的节点。

平衡二叉树:是一种结构平衡的二叉搜索树,即叶节点高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。

红黑树:一种特殊的二叉查找树

暂时先记录定义,深入了解和实现延后………………

猜你喜欢

转载自www.cnblogs.com/zhaoguofeng/p/11443725.html