判断是否为AVL树~
来源:互联网 发布:天刀无缺染色数据 编辑:程序博客网 时间:2024/06/03 22:56
#include<stdio.h>#include<stdlib.h>#include<math.h>typedef struct BTree{int Data;struct BTree * lchild, *rchild;}BTree, *Root;int GetDepth(Root root){int depth;int ld, rd;if(!root)return 0;else{ld = GetDepth(root->lchild);rd = GetDepth(root->rchild);depth = ld > rd ? ld :rd;return depth+1;}}int IsAVL(Root root){if(!root)return 1;int ldepth = GetDepth(root->lchild);int rdepth = GetDepth(root->rchild);int abs_depth = abs(ldepth-rdepth);return (abs_depth <= 1) && IsAVL(root->lchild)&& IsAVL(root->rchild);} Root CreateTree() //版本1 无形参 只有返回值 {Root T;char X;scanf("%c",&X);if(X == '#')T = NULL; //此处 不return ; else{T = (Root)malloc(sizeof(struct BTree));T->Data = X; T->lchild = CreateTree();T->rchild = CreateTree();}return T;}void PreTrv(Root T){if(T){printf("%c ",T->Data); // 一定要注意 控制格式符 PreTrv(T->lchild);PreTrv(T->rchild);}}int main(){Root T;T = CreateTree();//PreTrv(T);//printf("\n");if(IsAVL(T))printf("是AVL");elseprintf("不是AVL"); return 0;}int CountLeaves(Root T) //叶节点 个数哇 {if(T == NULL)return 0;if(T->lchild == NULL && T->rchild == NULL){return 1;}return CountLeaves(T->lchild) + CountLeaves(T->rchild);}int CountNode(Root T) //求 节点个数 {if(T == NULL)return 0;return CountNode(T->lchild) + CountNode(T->rchild) +1;}int CountFull(Root T) //精辟的 求 满节点个数 {if(T == NULL)return 0;return (T->lchild && T->rchild) + CountFull(T->lchild) + CountFull(T->rchild);}
阅读全文
1 0
- 判断是否为AVL树~
- 判断一棵树是否为AVL树
- 判断一颗二叉树树是否为AVL树
- 剑指offer(41):判断二叉树是否为平衡二叉树(AVL树)
- 判断一颗二叉树是否为平衡二叉树(AVL)
- 判断一个二叉树是否是平衡二叉树(AVL)
- 判断一个二叉树是否是AVL树
- 判断是否为满树
- poj1308 判断是否为树
- leetcode 110 【判断是否是AVL】
- 【LeetCode101-110】二叉树对称及存储,前序中序遍历生成二叉树,中序后序生成二叉树,数组转化为AVL平衡树,判断二叉树是否平衡
- 数据结构之如何判断一棵二叉树是否是平衡二叉树(AVL树)
- 如何判断一棵二叉树是否是平衡二叉树(AVL)
- AVL树详解&面试题-判断一棵树是否是平衡二叉树
- 判断一棵树是不是AVL树
- 判断二叉树是否为平衡树
- 判断树是否为平衡二叉树
- 判断二叉树是否为平衡树
- Java值传递(基本数据类型和引用数据类型)和虚拟机内存作用
- Python爬虫---处理HTTPS请求 SSL证书验证
- Redis源码解析3
- Unity3D之UI按键绑定事件(四)
- 【Kmp】Blue Jeans POJ
- 判断是否为AVL树~
- HDU 6058 枚举 Kanade's sum
- hdu 1428 漫步校园(搜索+记忆化搜索)
- uva188 Perfect Hash
- 一图读懂:Type-C的前生今世 众接口已哭晕
- CSDN自定义博客栏目实现搜索本站
- Python自然语言处理——nltk_data
- MATLAB画图必备知识
- poj3264 Balanced Lineup——线段树