测试代码:
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++ 不知树系列之初识树](http://shimg.jingyanzongjie.com/230726/1H3361502-14.png)
文章插图
3.2.4 孩子兄弟表示法指针域中存储子节点和兄弟节点 。节点类型中有
3
个信息域:- 数据域 。
- 指向子节点的地址域 。
- 指向兄弟节点的地址域 。
![树的邻接矩阵、双亲孩子表示法…… C++ 不知树系列之初识树](http://shimg.jingyanzongjie.com/230726/1H33A355-15.png)
文章插图
![树的邻接矩阵、双亲孩子表示法…… C++ 不知树系列之初识树](http://shimg.jingyanzongjie.com/230726/1H33A251-16.jpg)
文章插图
孩子兄弟表示法的具体实现过程有兴趣者可以自行试一试,应该还是较简单的 。
如上几种实现存储方式,可以根据实际情况进行合理选择 。
4. 总结本文先讲解了树的基本概念,然后讲解了树的几种存储方案 。本文提供了邻接矩阵和双亲孩子表示法的具体实现 。
本文同时也收录至"编程驿站"公众号!
【树的邻接矩阵、双亲孩子表示法…… C++ 不知树系列之初识树】
经验总结扩展阅读
- 2023年2月4日游玩好吗 2023年2月4日是游玩的黄道吉日吗
- C#实现生成Markdown文档目录树
- 2023年9月29日修理仓库黄道吉日 2023年9月29日是修理仓库的黄道吉日吗
- 2023年9月29日是打地基的黄道吉日吗 2023年9月29日打地基好吗
- 2023年9月29日是建造厕所的黄道吉日吗 2023年9月29日建造厕所好不好
- 2023年9月29日投资黄道吉日 2023年9月29日是投资的黄道吉日吗
- 2023年2月4日是做买卖的黄道吉日吗 2023年2月4日做买卖行吗
- 2023年9月29日是签订合同吉日吗 2023年9月29日是签订合同的黄道吉日吗
- 2023年2月4日安装柱子黄道吉日 2023年2月4日是安装柱子的黄道吉日吗
- 2023年9月29日就职好吗 2023年9月29日是就职的黄道吉日吗