文章

49

粉丝

140

获赞

27

访问

15.4k

头像
二叉搜索树 题解:新手方法易于理解
P1317 浙江大学机试题
发布于2024年2月28日 17:05
阅读数 292

自己想的,水平比较菜用的原始办法,估计都能看懂

两个要点

1.先建立二叉排序树,跟以前的题一样

2.要判断的序列再建立二叉排序树(跟第一步步骤一样)

3.判断这两个树是不是同一个(重点)

#include <iostream>
#include <string.h>
using namespace std;
typedef struct node{

	int data;
	struct node *l,*r;

}node,*Lnode;
void create(Lnode &L,int temp){
	if(L==NULL){
		L=new node;
		L->data=temp;
		L->l=NULL;
		L->r=NULL;
		return ;
	}
	else{
		if(L->data==temp)
			return;
		else if(L->data>temp)
			create(L->l,temp);
		else if(L->data<temp)
			create(L->r,temp);
	}
	return;
}
int panduan(Lnode L,Lnode T){
	int flag=0;
	if(L!=NULL&&T!=NULL){
		if(L->data==T->data)
		flag=1;
		else if(L->data!=T->data)
			flag=0;

	return flag&&(panduan(L->l,T->l))&&(panduan(L->r,T->r));	}
else if(L==NULL&&T==NULL)
		return 1;
else 
	return 0;
}
int main(){

	int n=0,temp=0;
	int a[20];
	char b[20];
	while(cin >>n&&n)  {
	...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发