zoukankan      html  css  js  c++  java
  • 树——二叉树的存储结构与结点实现

    1,本文目标:

     

           1,完成二叉树结点的存储结构设计;

                 

    2,设计要点:

           1,BTree 为二叉树结构,每个结点最多只有两个后继结点;

           2,BTreeNode 只包含 4 个固定的共有成员;

                  1,一个数据成员,两个指向后继结点的指针成员,指向父结点的指针成员;

                  2,包含指向父结点的在一些场合是非常方便的一件事;求叶结点到根结点经历那些结点;

           3,实现树结构的所有操作(增,删,查,等);

                  1,容器类型的数据结构;

                 

    3,BTreeNode 的设计与实现:

     

          

    4,BTree 的设计与实现:

     

          

    5,BTree (二叉树结构)的实现架构:

    6,二叉树结点 BTreeNode 的创建:

     1 #ifndef BTREENODE_H
     2 #define BTREENODE_H
     3 
     4 #include "TreeNode.h"
     5 
     6 namespace DTLib
     7 {
     8 
     9 template < typename T >
    10 class BTreeNode : public TreeNode<T>
    11 {
    12 public:
    13     BTreeNode<T>* left;
    14    BTreeNode<T>* right;
    15 
    16     BTreeNode()
    17     {
    18         left = NULL;
    19         right = NULL;
    20    }
    21 
    22     static BTreeNode<T>* NewNode() // 工厂模式
    23     {
    24         BTreeNode<T>* ret = new BTreeNode<T>();
    25 
    26         if( ret != NULL )  // 申请堆空间成功
    27         {
    28             ret->m_flag = true;
    29         }
    30 
    31         return ret;
    32     }
    33 };
    34 
    35 }
    36 
    37 #endif // BTREENODE_H
  • 相关阅读:
    找工作经验之——面试(百度篇)
    找工作经验之——面试(微软实习篇)
    以下这个案例给我们什么启发?
    颈椎病
    柳传志写给部下的一封信,告诉你怎样被提拔
    马云:未来三十年会大动荡
    小米:如何用军事理论做商业
    诸葛亮最聪明,为何赢不了
    在最贵的地方点最便宜的菜
    改革有哪四大阻力
  • 原文地址:https://www.cnblogs.com/dishengAndziyu/p/10925398.html
Copyright © 2011-2022 走看看