树的邻接矩阵、双亲孩子表示法…… C++ 不知树系列之初识树( 四 )

测试代码:
int main(int argc, char** argv) { Tree tree('A');//返回根节点 TreeNode * root =tree.getRoot();//根节点下添加 B、C两个子节点 TreeNode * rootB= tree.addTreeNode('B',root); TreeNode * rootC= tree.addTreeNode('C',root);//B下添加D子节点 TreeNode * rootD= tree.addTreeNode('D',rootB);//C下添加E、F子节点 TreeNode * rootE= tree.addTreeNode('E',rootC); TreeNode * rootF= tree.addTreeNode('F',rootC); tree.showAll(); return 0;}输出结果:

树的邻接矩阵、双亲孩子表示法…… C++ 不知树系列之初识树

文章插图
3.2.4 孩子兄弟表示法指针域中存储子节点和兄弟节点 。节点类型中有 3 个信息域:
  • 数据域 。
  • 指向子节点的地址域 。
  • 指向兄弟节点的地址域 。

树的邻接矩阵、双亲孩子表示法…… C++ 不知树系列之初识树

文章插图

树的邻接矩阵、双亲孩子表示法…… C++ 不知树系列之初识树

文章插图
孩子兄弟表示法的具体实现过程有兴趣者可以自行试一试,应该还是较简单的 。
如上几种实现存储方式,可以根据实际情况进行合理选择 。
4. 总结本文先讲解了树的基本概念,然后讲解了树的几种存储方案 。本文提供了邻接矩阵和双亲孩子表示法的具体实现 。
本文同时也收录至"编程驿站"公众号!
【树的邻接矩阵、双亲孩子表示法…… C++ 不知树系列之初识树】

经验总结扩展阅读