二叉排序树问题,课程设计采用顺序存储方式或二叉链表存储方式保存二叉排序树

二叉排序树问题,课程设计采用顺序存储方式或二叉链表存储方式保存二叉排序树
(1)给出n个数,并由这n个数创建一棵二叉排序树。
(2)在二叉排序树中查找值为e的节点。
(3)给出一个新的数x,将其加入到二叉排序树。
要求:由一个主函数提供统一的处理接口,并分析各算法的时间复杂度
linyunhot 1年前 已收到1个回答 举报

蒙神 春芽

共回答了14个问题采纳率:100% 举报

#include
#include
typedef struct node
{
int data;
node *left;
node *right;
}node;
node* CreateTree(node *root,int n)
{
if(root==NULL)
{
root=(node *)malloc(sizeof(node));
root->data=n;
root->left=NULL;
root->right=NULL;
return root;
}
else if(n>root->data)
{
root->right=CreateTree(root->right,n);
return root;
}
else if(ndata)
{
root->left=CreateTree(root->left,n);
return root;
}

}
void Print(node *root)
{
if(root!=NULL)
{
Print(root->left);
printf("%d ",root->data);
Print(root->right);
}
return;
}
bool search(node* root,int a)
{
node *p=root;
while(p!=NULL)
{
if(a==p->data)
return true;
else if(a>p->data)
p=p->right;
else if(adata)
p=p->left;
}
return false;
}
void del(char *c)
{
int i,j=0,k=0;
bool b=true;
for(i=0;c[i]!='';++i)
{
b=true;
k=0;
while(k

1年前

1
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.547 s. - webmaster@yulucn.com