《数据结构与算法分析c++描述》读书笔记二——二叉树

二叉树:对于每个节点X,节点的左子树所有项的值都小于X中的值,而右子树所有项的值都大于X中的值。

     下面给出二叉树的简单实现方式:

          《数据结构与算法分析c++描述》读书笔记二——二叉树_第1张图片

         《数据结构与算法分析c++描述》读书笔记二——二叉树_第2张图片

成员函数如下:

      《数据结构与算法分析c++描述》读书笔记二——二叉树_第3张图片

        《数据结构与算法分析c++描述》读书笔记二——二叉树_第4张图片

       《数据结构与算法分析c++描述》读书笔记二——二叉树_第5张图片

      《数据结构与算法分析c++描述》读书笔记二——二叉树_第6张图片

           注:因为二叉树上述定义,每个节点中存放的值x要满足一个条件:x至少是可以被“<”比较的类型。

                对于上图中的插入、删除操作算法,有可能导致经过多次插入删除操作之后树变得不不平衡,对不同的节点操作时间差别很大,导致性能变差。所以有此引入改进算法:AVL树(一种自平衡二叉树)。

你可能感兴趣的:(数据结构与算法分析)