ZKX's LAB

为什么平衡二叉排序树上任一结点的平衡因子可以为“-1”? 二叉平衡排序树的调整

2020-08-12知识12

二叉排序树转换成平衡二叉树唯一吗 个人感觉不唯一,试了一下可以画出多种输入带排序序列生成二叉排序树,并调整使其变为平衡二叉树#include stdio.h#include conio.h#include stdlib.h#define NULL 0int leftdep,rightdep;typedef struct bitnode。输入带排序序列生成二叉排序树,并调整使其变为平衡二叉树 #include\"stdio.h\"#include\"conio.h\"#include\"stdlib.h\"#define NULL 0int leftdep,rightdep;typedef struct bitnode{char data;struct bitnode*lchild,*rchild;}bintnode,*bintree;bintree createbitree(){bintree t;char x;scanf(\"%c\",&x);p>;if(x=' ')t=NULL;p>;else{t=(bintnode*)malloc(sizeof(bintnode));p>;t->;data=x;p>;t->;lchild=createbitree();p>;t->;rchild=createbitree();p>;}return(t);}void preorder(bintree t)/*前序遍历*/{if(t)<;/p>;<;p>;{printf(\"%2c\",t->;data);p>;preorder(t->;lchild);p>;preorder(t->;rchild);}}void midorder(bintree t)/*中序遍历*/{if(t)<;/p>;<;p>;{midorder(t->;lchild);p>;printf(\"%2c\",t->;data);p>;midorder(t->;rchild);}}void printree(bintree t){if(t。NULL)<;/p>;<;p>;{printf(\"%c\",t->;data);p>;if(t->;lchild。NULL|t->;rchild。NULL)<;/p>;<;p>;{printf(\"(\");printree(t->;lchild);p>;if(t->;rchild。NULL)printf(\",\");p>;printree(t->;rchild);printf(\")\");}}}int treedepth(bintree t){if(t=NULL)return 0;p>;else{leftdep=treedepth(t->;lchild);p>;rightdep=treedepth(t->;。

#二叉排序树#排序算法

随机阅读

qrcode
访问手机版