Rogarle al maestro de programación que escriba un programa en lenguaje C
La siguiente es una pregunta que hice. El árbol de ideas del algoritmo se ha explicado en detalle, así que les daré el código.
Descripción del problema
Ingrese la secuencia transversal de preorden y la secuencia transversal de orden del árbol binario, y genere la secuencia transversal de posorden del árbol binario.
Entrada
La primera línea ingresa la secuencia transversal en orden previo del árbol binario.
La segunda línea ingresa la secuencia transversal en orden del binario; árbol.
Salida
Emite la secuencia transversal posterior al orden del árbol binario.
Ejemplo de entrada
ABDCEF
BDAECF
Ejemplo de salida
DBEFCA#include? #include? #define?MAX?53 usando?namespace?std; typedef?char? Elem_Type; typedef?struct?BiTree { Elem_Type?data;//data struct?BiTree?*Lchild; //Niño izquierdo struct?BiTree?*Rchild;//Niño derecho }BiTree;?//¿La longitud de la matriz donde buscar? int?Search_Num(Elem_Type?num,Elem_Type?*array,int?len) { for(int?i=0;?i if(array[i]?==?num) return?i; //return?-1;//no encontrado } ?//¿Recorrido en orden anticipado? Recorrido en orden, longitud de matriz en orden BiTree?*Resume_BiTree(Elem_Type?*front,Elem_Type?*center,int?len) { p> if(len?<=?0) return?NULL; BiTree?*temp?=?new?BiTree; temp->datos?=? *frente; int?index?=?Search_Num(*front,center,len); temp->Lchild?=?Resume_BiTree(frente +1,centro,índice) ; temp->Rchild?=?Resume_BiTree(front+index+1,center+index+1,len-index-1); return?temp; } void?PostOrderTraverse(BiTree?*root)//Recorrido posterior al pedido { if (?root?!=?NULL ) { PostOrderTraverse(root->Lchild); PostOrderTraverse(root->Rchild); cout< } } int?main(void) { Elem_Type? *preorder?=?new?Elem_Type?[MAX];//preorder Elem_Type?*inorder?=?new?Elem_Type?[MAX];//inorder cin>>preorder;cin>>inorder; BiTree?*root?=?Resume_BiTree(preorder,inorder,strlen(inorder)); PostOrderTraverse (raíz); cout< retorno?0; } /****************************************** ¿Problema?id:? Nombre?de?usuario:? Resultado:?Aceptado? ¿Tomar?Memoria:?444K? ¿Tomar?Tiempo:?0MS? ¿Enviar?Tiempo:?2014-05-16?22:52:07? ****** ** *******************************/