二叉排序树与平衡二叉树

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include <>

#include<>

#define maxsize 100

#define EQ(a,b) ((a)==(b))

#define LT(a,b) ((a)<(b))

#define LQ(a,b) ((a)>(b))

#define LH 1 因插入而使二叉排序树失去平衡,则作平衡

链表作存储结构,建立二叉排序树。\n");

printf("2.中序遍历二叉排序树。\n");

printf("3.计算二叉排序树的平均查找长度。\n");

printf("4.删除x结点。\n");

printf("5.建立平衡二叉树\n");

printf("6.计算平衡二叉树的平均查找长度。\n");

printf("7.用数组作存储结构,建立二叉排序树。\n");

printf("8.中序遍历二叉排序树(数组作存储结构)。\n");

printf("9.计算二叉排序树的平均查找长度(数组作存储结构)。\n");

printf("10.删除x结点(数组作存储结构)。\n");

printf("0.退出。\n");

printf("\n选择:");

scanf("%d",&select);

switch(select)

{

case 1:h=creat();printf("\n");break;

case 2:printf("中序遍历:");

if(!h)

printf("空树!");

else

inorder(h);

printf("\n\n");break;

case 3:asl(1);printf("\n");break;

case 4:h=del(h);printf("结果:");

if(!h)

printf("空树!");

else

inorder(h);

printf("\n\n");break;

case 5:T=creat_balance(T);

printf("中序遍历:");

inorder_balance(T);

printf("\n\n");break;

case 6:asl(2);printf("\n");break;

case 7:printf("输入数据,按回车键结束:");shuzu(a);h2=create1();printf("\n");break;

case 8:printf("中序遍历:");

if(!h2)

printf("空树!");

else

inoder_1(h2);

printf("\n\n");break;

case 9:asl(3);printf("\n");break;

case 10:h2=del(h2);printf("结果:");

if(!h2)

printf("空树!");

else

inorder(h2);

printf("\n\n");break;

case 0:break;

}

}while(select>=1&&select<=10);

}

相关文档
最新文档