本文主要是介绍孩子兄弟存储结构的几个统计算法实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
孩子兄弟存储结构的几个统计算法实现
@(算法学习)
- 编程求得以孩子兄弟表示法存储的森林的叶子结点个数。
分析:首先得理清楚题意:计算的是原始的森林的叶子结点数。这个才是有意义的计算,否则计算出存储森林的二叉树的叶子结点数并没多大实用价值。OK,那么分析森林中的叶子结点在孩子结点的存储格式下的特点:左孩子指针域为空。该怎么理解这个?
说到这里,需要特别强调的是孩子兄弟表示法中的一个小细节。
在原来的树中B是A的右孩子,那么在孩子兄弟表示法中,B还是A的右孩子吗?答案肯定是:不是。既然孩子兄弟表示左孩子右兄弟,就全部遵守这个规则!
为什么这么问,是因为我构造了下面这个树形:
转化为孩子兄弟存储结构:
最终树形该是怎样的?
这样?肯定不对啊,D是B的孩子,现在会被解读成B的兄弟!
因此下面的才是对的&
这篇关于孩子兄弟存储结构的几个统计算法实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!