Completo de preguntas reales sobre algoritmos

3? Dado un árbol binario no vacío, los resultados de atravesar su primera y media raíz son los siguientes:

Primera raíz: ABCDEFGHI?

Seguimiento medio: ¿CBEDAGFHI?

Construye este árbol binario.

Respuesta:? A

/ \

b? F

/ \/ \

c? ¿DG? H

/ \

¿Yo? E

4. Analizar el tiempo de ejecución de los siguientes programas:

a)? ¿Vacío? Misterioso (Internacional)

{int? I, j, k;

for(I = 1;I<n;i++)

for(j = I+1;j<= n;j++)

for(k = 1; k & lt= j; k++)

{¿Algunos? ¿declaración? ¿Requerir? O(1)? Tiempo;}

}

Mi respuesta es n3, pero no estoy seguro.

b) ¿Nulo? podd(int?n)

{int? I, j, x, y;

for(I = 1; I & lt= n; I++)

si (número impar (I))

{ for(j = I; j & lt= n; j++)

x = x+1;

for(j = 1; j & lt= I; j++)

y = y+1;

}

}

N2 ¿No estás seguro?

5? La expresión matemática conocida es (3+b) sin (x+5)-a/x2, por lo que necesitamos encontrar la representación del prefijo y el sufijo de esta expresión en polaco (el proceso es necesario). de).

El árbol binario correspondiente a la expresión es

Entonces el prefijo correspondiente es:-*+3bsin+x5/a*xx.

El sufijo es: 3b+x5+sin*axx*/-

En tercer lugar, implemente el siguiente algoritmo

En la tabla lineal L implementada por punteros, de Eliminar el nodo con la palabra clave X de la tabla lineal L.

Respuesta:

int visitado[n];

void dfs(graph g, int i)

{ nodo de borde * t ;

printf("%4d ",I);?

Visitado [I] = 1;?

t = g[I];

mientras(t!=NULL) {

si (visitado [t-& gt; vno] = = 0 )

dfs(g,t->vno);

t = t-& gt; siguiente;

}

}

En un árbol binario con pistas, el sucesor en orden de raíz se encuentra en el nodo p.

Respuesta:

typedef enum {lLINK, THREAD} ¿PointerTag? //ENLACE == 0; puntero,

HILO == 1;

typedef estructura BinThrNode {?

Datos de telemetría;

struct BinThrNode *lchilid, *rchild

Etiqueta de puntero ltag, rtag

}?BinThrNode, *BinThrTree?

Recorrido en orden del árbol binario de pistas

¿Cómo encontrar el predecesor del nodo señalado por P?

Cuando p->ltag==THREAD, ¿el precursor es p->lchild?

Cuando p-> cuando ltag==LINK, el predecesor es el nodo inferior derecho de p->lchild.

En el árbol de búsqueda binaria f se implementa la inserción del registro r.

Respuesta:

Inserción nula (registro R, BST y ampf)

{if(F= =NULL)

{ F = nuevo tipo de celda;

f->data = R;

f->lchild = NULL

f->rchild = NULL}

else if(R, clave<f->data.key)

INSERT(R,F->l niño);

else if(R, key>f->data.key)

INSERT(R,F->rchild);

}

Cuarto, para el gráfico no dirigido conectado ponderado a continuación , utilice el algoritmo de Prim para construir un árbol de expansión mínimo. Dibuja cada paso del proceso de construcción. (12 puntos)

5. Deje que los datos a clasificar se almacenen en la matriz a.

3 1 4 1 5 9 2 6 5 3

Para clasificar el montón, primero cree un montón inicial para él e intente dibujar el árbol binario durante la construcción del montón inicial. proceso y cambios en la matriz A.