- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二叉排序树与平衡二叉树
#include stdio.h
#includestdlib.h
#define maxsize 100
#define EQ(a,b) ((a)==(b))
#define LT(a,b) ((a)(b))
#define LQ(a,b) ((a)(b))
#define LH 1 //左高
#define EH 0 //等高
#define RH -1 //右高
typedef struct node //定义二叉树排序的结点
{
int data; //数据域
struct node *left,*right; //left指向左孩子,ringt指向右孩子们
}dnode;
typedef struct BSTNode //定义二叉平衡树的结点
{
int data;
int bf; //结点的平衡因子
struct BSTNode *left,*right;
}BSTNode,*BSTree;
int n=0,m=0,total=0;
int a[30];
int n1=0,m1=0,total1=0;
int n2=0,m2=0,total2=0;
void sort(dnode *t,int c) // 将c插入到二叉排序树t中
{
dnode *p;
if(c=t-data)
if(t-right==NULL)
{
p=(dnode *)malloc(sizeof(dnode));
p-data=c;
p-left=p-right=NULL;
t-right=p;
}
else
sort(t-right,c);
if(ct-data)
if(t-left==NULL)
{
p=(dnode *)malloc(sizeof(dnode));
p-data=c;
p-left=p-right=NULL;
t-left=p;
}
else
sort(t-left,c);
}
dnode *creat() //创建二叉排序树
{
dnode *ht;
int c;
char k;
ht=(dnode *)malloc(sizeof(dnode));
printf(输入数据,按回车键结束:);
scanf(%d%c,c,k);
ht-data=c;
n++;
ht-left=ht-right=NULL;
if(k!=\n)
while(1)
{
scanf(%d%c,c,k);
sort(ht,c);
n++;
if(k==\n) break;
}
return ht;
}
void inorder(dnode *t) //中序遍历二叉排序树
{
if(t!=NULL)
{
m++;
inorder(t-left);
printf(%d ,t-data);
total+=m;
inorder(t-right);
m--;
}
}
void asl(int x) //计算平均查找长度
{
float s;
if(x==1)
{
s=(float)total/n;
printf(n: %d,total: %d,asl: %3.2f\n,n,total,s);
}
else if(x==2)
{
s=(float)total1/n1;
printf(n: %d,total: %d,asl: %3.2f\n,n1,total1,s);
}
else
{
s=(float)total2/n2;
printf(n: %d,total: %d,asl: %3.2f\n,n2,total2,s);
}
}
void find(dnode *t,int x,dnode *a[]) //将数据域为x的结点的地址给a[0],其父结点的地址给a[1]
{
dnode *p,*q;
p=t;
if(p-data==x)
{
a[0]=p;
a[1]=NULL;
return;
}
for(;;)
{
if(xp-data)
{
q=p;
if(p-right==NULL)
{
a[0]=a[1]=NULL;
return;
}
p=p-right;
if(p-data==x)
{
a[0]=p;
a[1]=q;
return;
}
}
if(xp-data)
{
您可能关注的文档
- 中药学院中药资源与开发专业设置论证报告.doc
- 中行系统行政职业能力测验模拟试卷一.doc
- 中资银行品牌竞争力分析之我见.doc
- 中西道歉的文化差異.ppt
- 中西方爱情观的冲突-中文系毕业论文.doc
- 中金公司国债逆回购.ppt
- 中银金融商业担保商业计划书范本.doc
- 中风先兆病路径.doc
- 中软华泰等级保护整改解决方案.doc
- 中餐烹饪实施性教学计划.doc
- 中考语文总复习语文知识及应用专题5仿写修辞含句子理解市赛课公开课一等奖省课获奖课件.pptx
- 湖南文艺版(2024)新教材一年级音乐下册第二课《藏猫猫》精品课件.pptx
- 湖南文艺版(2024)新教材一年级音乐下册第三课《我向国旗敬个礼》精品课件.pptx
- 高中生物第四章生物的变异本章知识体系构建全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 整数指数幂市公开课一等奖省赛课微课金奖课件.pptx
- 一年级音乐上册第二单元你早全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 八年级数学上册第二章实数27二次根式第四课时习题省公开课一等奖新课获奖课件.pptx
- 九年级物理全册11简单电路习题全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 八年级语文下册第五单元19邹忌讽齐王纳谏省公开课一等奖新课获奖课件.pptx
- 2024年秋季新人教PEP版3年级上册英语全册教学课件 (2).pptx
最近下载
- 2024年河北省高考生物真题试卷含答案.pdf VIP
- 16 有为有不为 课件2024-2025学年度第一学期统编版语文七年级下册.pptx VIP
- 腹腔镜下侧腹壁悬吊术(LLS要点解析).docx VIP
- 2024年湖南省常德市高职单招考试(医学类)考试模拟试题及答案解析.docx
- 医疗废物分类处置试题及答案.doc
- 2025高三语文二轮复习:语言文字运用题分析及备考策略.pptx
- 季节性工程施工专项工程施工方案修改宁波.doc
- 新质生产力发展的设计学科基础与实践路径.docx VIP
- 2023-2024学年统编版语文九年级上册期末复习训练:字音字形.pdf VIP
- A journey of discovery新外研版高中英语选择性必修一Unit5课件.pptx
文档评论(0)