如果是二叉树,我是新概念.我被困在一个问题很多天了.它是为了查找给定的树是二叉树还是完全二叉树,或者两者都不是.
我已经想到了很多算法,但它们都没有满足每一个案例.我试过谷歌,但没有适当的解决方案.
我想过使用Level Order Traversal Technique但是在将所有节点插入队列之后无法知道如何知道它们的级别.
对于完全二进制树,我尝试计算所有节点的度数是0还是2但是如果树有一些具有度的中间节点,则该逻辑也是错误的.
我使用链表制作了一棵树,基本 - 左子,右子关系方式.
对于完全二叉树,我做一个inorder traverl并检查度数是否为0或2,但这是错误的,如果某个节点处于某个较早级别的0度,那么输出也会成立.
对于完整的二叉树,我无法想出任何合适的东西.
谢谢.
我正在使用C++,所以如果逻辑使用指针那么它就没问题了.