二叉树系列之一(基本概念)

为什么要使用二叉树?
  它结合了有序数组和链表的优点,树的查找速度很有序数组一样快,插入和删除速度跟链表一样快。
    有序数组中,查找快,删除很插入很慢(查找、后移)
    链表中查找很慢(从头查找每一项),插入和删除很快


满二叉树:除根节点和叶子节点外的其他节点都有两个子节点的二叉树
完全二叉树:满二叉树从右边删除连续个叶子节点

二叉树的存储:
     1、连续存储:(转化为完全二叉树)
        优点:查找某个父节点或子节点
        缺点:耗用内存空间过大

     2、 链式存储:

一般二叉树转化为普通二叉树一定没有右子树

先序遍历:根左右
中序遍历:左根右
后序遍历:左右根

通过中序和先序或中序和后序才唯一可确定二叉树(一定要有中序)

树的应用:
    数据库 中数据组织的一种重要形式
   系统中子进程的关系式一种树
面型对象中类的继承关系就是一种树

搜索二叉树(左小右大)的查找、插入、删除(叶子节点、只有一个子节点、有两个子节点)

二叉树的层数=深度 

二叉树的度,节点的子树个数
节点为n 边数为n-1; 则有n-1=n0 +n1+2*n2+3*n3+..+

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章