数据结构实验之查找二:平衡二叉树
来源:互联网 发布:你不知道的js中文pdf版 编辑:程序博客网 时间:2024/05/20 02:54
点击打开链接
数据结构实验之查找二:平衡二叉树
Time Limit: 400MS Memory limit: 65536K
题目描述
根据给定的输入序列建立一棵平衡二叉树,求出建立的平衡二叉树的树根。
输入
输入一组测试数据。数据的第1行给出一个正整数N(n <= 20),N表示输入序列的元素个数;第2行给出N个正整数,按数据给定顺序建立平衡二叉树。
输出
输出平衡二叉树的树根。
示例输入
588 70 61 96 120
示例输出
70
#include<stdio.h>#include<stdlib.h>typedef struct tnode{ struct tnode *lc,*rc; int dep; int data;}tnode,*tree;int depth(tree T){ if(T==NULL) return -1; else return T->dep;}int max(int x,int y){ if(x>y) return x+1; else return y+1;}tree LL(tree T){ tree p=T->lc; T->lc=p->rc; p->rc=T; T->dep=max(depth(T->lc),depth(T->rc)); p->dep=max(depth(p->lc),depth(p->rc)); return p;}tree RR(tree T){ tree p=T->rc; T->rc=p->lc; p->lc=T; T->dep=max(depth(T->lc),depth(T->rc)); p->dep=max(depth(p->lc),depth(p->rc)); return p;}tree RL(tree T){ T->rc=LL(T->rc); return RR(T);}tree LR(tree T){ T->lc=RR(T->lc); return LL(T);}void creat(tree &T,int x){ if(T==NULL) { T=(tree)malloc(sizeof(tnode)); T->dep=0; T->lc=T->rc=NULL; T->data=x; } if(x<T->data) { creat(T->lc,x); if(depth(T->lc)-depth(T->rc)==2) { if(x<T->lc->data) T=LL(T); else T=LR(T); } } else if(x>T->data) { creat(T->rc,x); if(depth(T->lc)-depth(T->rc)==-2) { if(x>T->rc->data) T=RR(T); else T=RL(T); } } T->dep=max(depth(T->lc),depth(T->rc));}int main(){ tree T=NULL; int n,i,j; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&j); creat(T,j); } printf("%d",T->data); return 0;}
0 0
- 数据结构实验之查找二:平衡二叉树
- 数据结构实验之查找二:平衡二叉树
- 数据结构实验之查找二:平衡二叉树
- SDUT 数据结构实验之查找二:平衡二叉树
- 数据结构实验之查找二:平衡二叉树【OJ--3374】
- 数据结构实验之查找二:平衡二叉树
- 数据结构实验之查找二:平衡二叉树
- 数据结构实验之查找二:平衡二叉树
- 数据结构实验之查找二:平衡二叉树
- 数据结构实验之查找二:平衡二叉树
- SDUT 3374 数据结构实验之查找二:平衡二叉树
- SDUT3374数据结构实验之查找二:平衡二叉树
- 数据结构实验之查找二:平衡二叉树
- 数据结构实验之查找二:平衡二叉树
- 数据结构实验之查找二:平衡二叉树
- 数据结构实验之查找二:平衡二叉树
- 数据结构实验之查找二:平衡二叉树
- SDUTACM 数据结构实验之查找二:平衡二叉树
- 算法
- hdu5831 Rikka with Parenthesis II(水)
- 【NOIP动态规划专题】采药2 (Standard IO)
- 3000门徒内部训练绝密视频(泄密版)第4课:Scala模式匹配、类型系统彻底精通与Spark源码阅读
- 微信公众平台开发3:订阅事件subscribe处理
- 数据结构实验之查找二:平衡二叉树
- jzoj2540 采药2
- URL联网的测试
- GCC通用makefile
- android studio导入PullToRefresh教程
- Spring AOP 基础(一)
- 【NOIP2011模拟9.1】方格取数 (Standard IO)
- 2016/08/11 继承
- HDU3698 区间线段树+dp