平衡二叉树(balanced binary tree).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
平衡二叉树(balanced binary tree).doc

平衡二叉树(balanced binary tree) #包括 stdio. h #包括 malloc。” #定义情商(A,B)((一)= =(B)) # LT(A,B)的定义((一)(B)) #定义LQ(A,B)((一)(b)) #定义LH + 1 / /左高 #定义EH 0 / /等高 #定义RH - 1 / /右高 typedef struct BTnode { int数据; int高炉;/ /平衡因子 struct BTnode *左右* rchild;/ /左、右孩子 } BTNode * BTree; 需要的函数声明/ * * / 无效right_balance(B树和p);//单向右旋 无效left_balance(B树和p);//单向左旋 无效left_root_balance(B树和T);/ /左平衡旋转处理 无效right_root_balance(B树和T);/ /右平衡旋转处理 bool InsertAVL(B树和t,int i,布尔和高);/ /插入结点 虚空PrintBT(B树T,int m);/ /打印二叉树 虚空CreatBT(B树和T);/ /创建二叉排序树 无效left_root_balance_det(B树和P,int和短);/ /删除后的左平衡旋转处理 无效right_root_balance_det??B树和P,int和短);/ /删除后的右平衡旋转处理 删除(B树Q、B树和R,int和短);/ /当左右子树不为空时的删除结点 int DeleteAVL(B树和p,x,int和短);/ /删除结点 无效adj_balance(B树和T);/ /创建平衡二叉树 布尔setavl(B树和t,int i,布尔和高);/ /在平衡二叉树中插入结点 / /布尔insert_balance_avl(B树和t,int i,布尔和更高); menu() /打印菜单无效; 在寻求(B树和t,int);/ /查找 主函数/ * * / 国际main() { 输入,搜索,m; 布尔高= false; int短=0; B树T; T =(B树)malloc(sizeof(BTNode)); 零; printf(“= = = = = =平衡二叉树- \n \n”); menu(); (1) { printf(“\n请选择需要的二叉树操作:”); scanf(“%d”,与输入); getchar(); 开关(输入) { 案例1: CreatBT(T); 打破; 案例2: printf(“请输入你要增加的关键字:”); scanf(“%d”,搜索); getchar(); InsertAVL(T、搜索、高); m=0; PrintBT(T,M); 打破; 案例3: adj_balance(T); 打破; 案例4: printf(“请输入你要增加的关键字:”); scanf(“%d”,搜索); getchar(); setavl(T,搜索,高); m=0; PrintBT(T,M); 打破; 案例5: printf(“请输入你要删除的关键字:”); scanf(“%d”,搜索); getchar(); DeleteAVL(T、搜索、短); m=0; PrintBT(T,M); 打破; 案例6: Printf (enter the keywords you want to query:); Scanf (%d, search); Getchar (); If (Seek (T, search)) Printf (existing keyword%d \n, search); Else Printf (nonexistent keyword%d \n, search); Break; Case 7: Menu (); Break; Case 0: Break; Default: Printf (input error, please re select. ); Break; } If (input = 0) { Printf (\n thanks for use, press any key to exit)! \n\n ; Break; } } Return 0; } For the treatment of two D / * * / binary sort tree rooted at the *p Void Right_Balance (BTree p) { BTree lc; LC = p-lchild; //lc points to the root node of *p left seed P-lchild = lc-rchild; //rc the right sub tree to the left s

您可能关注的文档

文档评论(0)

zhangningclb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档