SWUST OJ 1053: Implementación de C++ de salida del grado del nodo especificado en el árbol binario creado por el recorrido de preorden

Tema Descripción

Cree un árbol binario utilizando el algoritmo transversal recursivo de preorden y genere el grado del nodo especificado en el árbol binario. Se acuerda que los datos de nodo del árbol binario son un solo carácter inglés en mayúsculas. Cuando el dato recibido es el carácter "#", significa que no es necesario crear el nodo, de lo contrario se crea el nodo. Finalmente, genere el grado del nodo especificado en el árbol binario creado. Preste atención a la secuencia y la relación numérica entre los caracteres "#" y los caracteres que no son "#" en la secuencia de datos de entrada, lo que finalmente determinará la forma del árbol binario creado.

ingresar

El caso de entrada se divide en 2 líneas. La primera línea acepta una cadena compuesta por caracteres ingleses en mayúsculas y caracteres "#" ingresados ​​por el teclado (utilizados para crear el árbol binario correspondiente), y la segunda línea especifica los datos del nodo.

producción

#include<bits/stdc++.h>
using namespace std;
char cmp;
int ans = 0;
struct{
	int l, r;
}z[105];
int creat(){
	char ch;
	cin>>ch;
	if(ch=='#') return ch;
	z[ch].l = creat();
	z[ch].r = creat();
	return ch;
}
int main(){
	creat();
	cin>>cmp;
	if(z[cmp].l!='#') ans++;
	if(z[cmp].r!='#') ans++;
	cout<<ans;
	return 0;
}

Muestra el grado del nodo especificado en el árbol binario correspondiente a este caso de uso en una línea.

 

Supongo que te gusta

Origin blog.csdn.net/Ljy_Cxy/article/details/131465172
Recomendado
Clasificación