数据结构之判断一棵树是不是完满二叉树
生活随笔
收集整理的這篇文章主要介紹了
数据结构之判断一棵树是不是完满二叉树
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 完滿二叉樹
除了葉子結點之外的每一個結點都有兩個孩子結點。
如下是完滿二叉樹
12 34 56 7
2 分析
我們按層(queue)遍歷數,如果發現左子樹為空右子樹不為空 或者 左子樹不為空右子樹為空 的情況下直接返回false
3 代碼實現
#include <iostream> #include <queue>using namespace std;typedef struct Tree {int value;struct Tree* left;struct Tree* right;Tree(int value):value(value), left(NULL), right(NULL){} } Tree;bool isFullCompleteTree(Tree* node) {if (NULL == node)return false;queue<Tree *> queue;queue.push(node);while (!queue.empty()){Tree* pNode = queue.front();if ((pNode->left == NULL && pNode->right !總結
以上是生活随笔為你收集整理的数据结构之判断一棵树是不是完满二叉树的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构之判断一棵树是不是完全二叉树
- 下一篇: linux之sort命令