数据结构6--树和二叉树

  1. 数组
    优点:按照下标值访问,效率高
    缺点:如果希望根据元素查找对应的位置,需要对数组进行排序生成有序数组,才能提高查找效率。另外向数组的首位或中间位置插入或者删除元素时,需要有大量的位移操作。
  2. 链表
    优点:插入和删除操作效率都很高
    缺点:查找效率很低,每次都要从头开始依次访问链表中的数据项。另外,如果要删除或者插入中间位置的元素,还是需要从头开始找到对应的数据
  3. 哈希表
    优点:插入 删除和查找效率都很高
    缺点:无序性决定了哈希表按照某种顺序遍历,也不能快速找到哈希表中最大或者最小的元素

  4. 树的术语:
    4.1 节点的度:节点的子树的个数
    4.2 树的度: 树的所有节点中最大的度树(树的度通常为结点的个数N-1)
    4.3 叶子节点:没有子节点的节点(度为0)
    4.4 节点的层次:规定根结点在1层,其它任一结点的层数是其父结点的层数加1
    4.5 树的深度:树中所有结点中的最大层次是这棵树的深度
  5. 二叉树
    5.1 二叉树可以为空(没有节点) 若不为空,则由根节点,左子树和右子树组成
    数据结构6--树和二叉树_第1张图片
    5.2 二叉树的特点:
    一个二叉树第 i 层的最大结点数为:2^(i-1), i >= 1;
    深度为k的二叉树有最大结点总数为: 2^k - 1, k >= 1;
    对任何非空二叉树 T,若n0表示叶结点的个数、n2是度为2的非叶结点个数,那么两者满足关系n0 = n2 + 1。

你可能感兴趣的:(数据结构)