Diego Vázquez Campos
Test por , creado hace más de 1 año

Cuestionario de Algoritmos y Estructuras de datos Avanzada

39
0
0
Diego Vázquez Campos
Creado por Diego Vázquez Campos hace alrededor de 3 años
Cerrar

Algoritmos y Estructuras de datos Avanzada

Pregunta 1 de 56

1

???? ?
(???????? ?) En el siguiente código, ¿Qué valor tiene la variable arg tras la ejecución de la función f()?

void f(int *param) {
ㅤparam = 10;
}
int main() {
ㅤint arg = 1;
ㅤf(&arg);
}

Selecciona una de las siguientes respuestas posibles:

  • 10

  • 1

  • Error de compilación

  • Error en tiempo de ejecución

Explicación

Pregunta 2 de 56

1

???? ?
(???????? 2) ¿Cual es el resultado de la ejecución de la siguiente instrucción?

char* const s1 = "ABC";
*s1 = 'X';
cout << s1;

Selecciona una de las siguientes respuestas posibles:

  • X

  • ABC

  • No se ejecuta. Hay error de compilación

  • XBC

Explicación

Pregunta 3 de 56

1

???? ?
(???????? 3) ¿A dónde apunta el puntero s1 tras la ejecución de la siguiente instrucción?

const char* s1 ? "ABC";
s1++;

Selecciona una de las siguientes respuestas posibles:

  • 'A'

  • 'B'

  • No se ejecuta. Hay error de compilación

  • 'C'

Explicación

Pregunta 4 de 56

1

???? ?
(???????? 4) Si se realiza herencia public, los miembros private de la clase base:

Selecciona una de las siguientes respuestas posibles:

  • Son private en la clase derivada

  • No son accesibles en la clase derivada

  • Son public en la clase derivada

  • Son protected en la clase derivada

Explicación

Pregunta 5 de 56

1

???? ?
(???????? 5) Dada la definición de la clase, ¿Cual de los siguientes códigos es incorrecto para el constructor?

class dummy {
int x, y;
public:
dummy(int, int);
},

Selecciona una de las siguientes respuestas posibles:

  • dummy::dummy(int i, int j): x(i) {y=j;}

  • Todos son correctos

  • dummy::dummy(int i, int j) {x=i; y=j;}

  • dummy::dummy(int i, int j): x(i), y(j) {}

Explicación

Pregunta 6 de 56

1

???? ?
(???????? 6) Para definir que un método de la clase puede expandirse como una macro, se utiliza la palabra
reservada

Selecciona una de las siguientes respuestas posibles:

  • virtual

  • friend

  • inline

  • static

Explicación

Pregunta 7 de 56

1

???? ?
(???????? 7) ¿Dónde se puede utilizar la clausula friend en el lenguaje C++?

Selecciona una de las siguientes respuestas posibles:

  • Funciones y clases

  • Sólo clases

  • sólo funciones

  • En C con funciones y en C++ con clases

Explicación

Pregunta 8 de 56

1

???? ?
(???????? 8) Si se realiza herencia protected, los miembros public de la clase base:

Selecciona una de las siguientes respuestas posibles:

  • No son accesibles en la clase derivada

  • Son protected en la clase derivada

  • Son public en la clase derivada

  • Son private en la clase derivada

Explicación

Pregunta 9 de 56

1

???? ?
(???????? 9) Dada la definición de la clase, ¿Cual de las siguientes sentencias no se corresponde con una llamada correcta al constructor?

class dummy {
public:
dummy(){};
}

Selecciona una de las siguientes respuestas posibles:

  • dummy *a = new dummy;

  • dummy a;

  • dummy a();

  • Todas son correctas

Explicación

Pregunta 10 de 56

1

???? ?
(???????? 10) El código a ejecutar para manejar la ocurrencia de una excepción se encierra en un bloque:

class dummy {
public:
dummy(){};
}

Selecciona una de las siguientes respuestas posibles:

  • exception

  • catch

  • throw

  • try

Explicación

Pregunta 11 de 56

1

???? ?
(???????? 11) Las excepciones identificadas en la librería estándar del lenguaje C++ derivan de la clase

Selecciona una de las siguientes respuestas posibles:

  • exception

  • runtime_error

  • logic_error

  • bad_exception

Explicación

Pregunta 12 de 56

1

???? ?
(???????? 12) En el lenguaje C++ la ocurrencia de una situación excepcional que requiere un tratamiento especial se invoca con la palabra clave:

Selecciona una de las siguientes respuestas posibles:

  • catch

  • exception

  • try

  • throw

Explicación

Pregunta 13 de 56

1

???? ?
(???????? 13) Dada la siguiente definición de plantilla (template), ¿Cual de los siguientes usos de la plantilla es la correcta?

template<class T, int N>
class miVector {
private:
T v[N];
public:
miVector(int n);
};

Selecciona una de las siguientes respuestas posibles:

  • int N = 5;
    miVector<int,5> v(N);

  • int N = 5;
    miVector<int,N> v(5);

  • int N = 5;
    miVector<int,N> v;

  • int N = 5;
    miVector<int,N> v(N);

Explicación

Pregunta 14 de 56

1

???? ?
(???????? 14) La utilización de plantillas (template) de funciones en el lenguaje C++ permite:

Selecciona una de las siguientes respuestas posibles:

  • La utilización en el código de la STL (Standard Template Library)

  • Especificar al compilador la forma de crear una familia parametrizada de clases.

  • La declaración de una jerarquía de clases

  • La definición de una familia parametrizada de funciones.

Explicación

Pregunta 15 de 56

1

???? ?
(???????? 15) ¿Qué métodos deben especificarse en toda plantilla (template)?

Selecciona una de las siguientes respuestas posibles:

  • Todos los constructores, el destructor y el operador de asignación

  • Un constructor de copia y el operador de asignación

  • No hay que especificar ningún método de forma obligatoria.

  • Un constructor por defecto

Explicación

Pregunta 16 de 56

1

???? ?
(???????? 16) Los parámetros al utilizar una plantilla (template) en el lenguaje C++ pueden ser:

Selecciona una de las siguientes respuestas posibles:

  • Cualquier tipo de dato o expresión entera constante

  • Cualquier tipo de dato que se pueda resolver en tiempo de ejecución.

  • Sólo los tipos básicos del compilador

  • Cualquier clase definida por el programador

Explicación

Pregunta 17 de 56

1

???? ?
(???????? 17) Dada la siguiente definición de clases, ¿qué valor se visualiza en la función main()?

#include <iostream>
class Base {
protected:
int x;
public:
Base() {x = 5;}
virtual int get() const { return 0; }
virtual int get() { return x; }
};

class Derivada: public Base {
protected:
int y;
public:
Derivada() {y = 10;}
int get() const { return y; }
};

int main() {
const Base* const ptr = new Derivada;
std: :cout << ptr->get();
}

Selecciona una de las siguientes respuestas posibles:

  • 5

  • Ninguno. Error de compilación.

  • 0

  • 10

Explicación

Pregunta 18 de 56

1

???? ?
(???????? 18) Dada la siguiente definición de clases, ¿qué valor se visualiza en la función main()?

#include <iostream>
class Base {
protected:
int x;
public:
Base() {x = 5;}
virtual int get() const { return 0; }
virtual int get() { return x; }
};

class Derivada: public Base {
protected:
int y;
public:
Derivada() {y = 10;}
int get() const { return y; }
};

int main() {
Base* ptr = new Base;
std: :cout << ptr->get();
}

Selecciona una de las siguientes respuestas posibles:

  • 5

  • 10

  • 0

  • Ninguno. Error de compilacón

Explicación

Pregunta 19 de 56

1

???? ?
(???????? 19) Dada la siguiente definición de clases, ¿qué valor se visualiza en la función main()?

#include <iostream>
class Base {
protected:
int x;
public:
Base() {x = 5;}
virtual int get() const { return 0; }
virtual int get() { return x; }
};

class Derivada: public Base {
protected:
int y;
public:
Derivada() {y = 10;}
int get() const { return y; }
};

int main() {
const Base* ptr = new Base;
std: :cout << ptr->get();
}

Selecciona una de las siguientes respuestas posibles:

  • 10

  • Ninguno. Error de compilación

  • 5

  • 0

Explicación

Pregunta 20 de 56

1

???? ?
(???????? 20) Dada la siguiente definición de clases, ¿qué valor se visualiza en la función main()?

#include <iostream>
class Base {
protected:
int x;
public:
Base() {x = 5;}
virtual int get() const { return 0; }
virtual int get() { return x; }
};

class Derivada: public Base {
protected:
int y;
public:
Derivada() {y = 10;}
int get() const { return y; }
};

int main() {
Base* const ptr = new Derivada;
std: :cout << ptr->get();
}

Selecciona una de las siguientes respuestas posibles:

  • Ninguno. Error de compilación

  • 5

  • 10

  • 0

Explicación

Pregunta 21 de 56

1

???? ?
(???????? 1) Cuál de las siguientes afirmaciones es correcta en una tabla Hash o tabla de dispersión.

Selecciona una de las siguientes respuestas posibles:

  • Hay tablas donde nunca se puede producir un desbordamiento.

  • Pueden aparecer sinónimos sin producir colisión.

  • Al insertar un valor solo se puede producir un desbordamiento.

  • No se puede dar una colisión sin desbordamiento.

Explicación

Pregunta 22 de 56

1

???? ?
(???????? 2) ¿Cuándo se usan los métodos de exploración en una tabla de dispersión?

Selecciona una de las siguientes respuestas posibles:

  • Cuando hay colisión y desbordamiento

  • Cuando hay colisión pero no desbordamiento

  • Cuando no hay colisión ni desbordamiento

  • Cuando hay desbordamiento pero no colisión

Explicación

Pregunta 23 de 56

1

???? ?
(???????? 3) Las operaciones más habituales en las tablas de dispersión son:

Selecciona una de las siguientes respuestas posibles:

  • La búsqueda y la inserción

  • La inserción y la ordenación

  • La inserción y la eliminación

  • La búsqueda y eliminación

Explicación

Pregunta 24 de 56

1

???? ?
(???????? 4) Las tablas de dispersión se pueden implementar

Selecciona una de las siguientes respuestas posibles:

  • con un array de listas pero no con un array de arrays

  • con un array de arrays pero no con un array de listas.

  • con una lista de arrays o lista de listas.

  • con un array de listas o array de arrays

Explicación

Pregunta 25 de 56

1

???? ?
(???????? 5) Cual de las siguientes afirmaciones sobre la búsqueda binaria es cierta.

Selecciona una de las siguientes respuestas posibles:

  • sólo se puede aplicar si el tamaño de la secuencia es par

  • sólo se puede aplicar si la secuencia está ordenada

  • es menos eficiente que la búsqueda secuencial.

  • es casi tan eficiente como la búsqueda secuencia

Explicación

Pregunta 26 de 56

1

???? ?
(???????? 6) Una búsqueda secuencial primaria sobre una secuencia de números,

Selecciona una de las siguientes respuestas posibles:

  • es más rápida si los elementos son enteros.

  • es más rápida si los elementos más buscados están al principio de la secuencia

  • es más rápida si los elementos están ordenados

  • es más rápida si los elementos son positivos.

Explicación

Pregunta 27 de 56

1

???? ?
(???????? 7) Cuál de las siguientes afirmaciones es correcta en una tabla Hash o tabla de dispersión

Selecciona una de las siguientes respuestas posibles:

  • Al insertar un valor sólo se puede producir un desbordamiento

  • Se puede dar una colisión sin desbordamiento.

  • Pueden aparecer sinónimos sin producir colisión.

  • No hay tablas donde nunca se puede producir un desbordamiento

Explicación

Pregunta 28 de 56

1

???? ?
(???????? 8) Para realizar una búsqueda binaria los valores de los elementos de la secuencia:

Selecciona una de las siguientes respuestas posibles:

  • tienen que ser positivos

  • tienen que ser números primos

  • tienen que estar ordenados.

  • tienen que ser enteros.

Explicación

Pregunta 29 de 56

1

???? ?
(???????? 9) Cuál de los siguientes elementos influye más en el tiempo medio empleado en una búsqueda en una
tabla Hash o tabla de dispersión

Selecciona una de las siguientes respuestas posibles:

  • el tamaño de la tabla.

  • el factor de carga.

  • el tamaño de los bloques.

  • la densidad de carga

Explicación

Pregunta 30 de 56

1

???? ?
(???????? 10) Las tablas de dispersión se pueden implementar

Selecciona una de las siguientes respuestas posibles:

  • con un array de listas pero no con una lista de arrays

  • con un array de listas pero no con un array de arrays

  • con una lista de arrays pero no con un array de listas

  • con una lista de arrays pero no con una lista de listas.

Explicación

Pregunta 31 de 56

1

???? ?
(???????? 1) Los métodos de ordenación por descomposición más eficientes tienen complejidad:

Selecciona una de las siguientes respuestas posibles:

  • $0( n )$

  • $0(n²)$

  • $0(n{¹˒³})$.

  • $0(n \ log n)S

Explicación

Pregunta 32 de 56

1

???? ?
(???????? 2) Cual de los siguientes es un método de ordenación por descomposición?

Selecciona una de las siguientes respuestas posibles:

  • el método de ordenación por mezcla.

  • el método de la sacudida.

  • el método de ordenación por intercambio.

  • el método de ordenación por inserción.

Explicación

Pregunta 33 de 56

1

???? ?
(???????? 3) Los métodos de ordenación más eficientes tienen complejidad:

Selecciona una de las siguientes respuestas posibles:

  • $O( n{¹˒³} )$.

  • $O( n )$.

  • $O( n \log n )$.

  • $O( n² )$.

Explicación

Pregunta 34 de 56

1

???? ?
(???????? 4) Los métodos usuales de ordenación ordenan de menor a mayor pero:

Selecciona una de las siguientes respuestas posibles:

  • Se pueden modificar para que ordenen de mayor a menor pero son mucho más lentos

  • Solo sirven para ordenar de menor a mayor

  • Se pueden modificar fácilmente para que ordenen de mayor a menor y son igual de rápidos

  • Algunos no se pueden adaptar para ordenar de mayor a menor.

Explicación

Pregunta 35 de 56

1

???? ?
(???????? 5) Los incrementos del método de ordenación por incrementos decrecientes tienen que:

Selecciona una de las siguientes respuestas posibles:

  • ser siempre decrecientes

  • ser menores que la mitad del tamaño de la secuencia

  • ser números impares.

  • ser números primos

Explicación

Pregunta 36 de 56

1

???? ?
(???????? 6) La sucesión de incrementos a utilizar en el método de ordenación por incrementos decrecientes tiene
que cumplir las siguientes condiciones

Selecciona una de las siguientes respuestas posibles:

  • Decrecer siempre en la misma cantidad

  • Usar sólo números primos

  • Usar sólo números impares.

  • Terminar en uno.

Explicación

Pregunta 37 de 56

1

???? ?
(???????? 7) Es un método de ordenación por descomposición

Selecciona una de las siguientes respuestas posibles:

  • el método de Quick Sort.

  • el método de BinSort.

  • el método de Shell Sort.

  • el método de Shake Sort

Explicación

Pregunta 38 de 56

1

???? ?
(???????? 8) Los métodos de ordenación

Selecciona una de las siguientes respuestas posibles:

  • Son mejores para ordenar de mayor a mayor que de menor a mayor

  • Sólo sirven para ordenan de menor a mayor

  • Son mejores para ordenar de menor a mayor que de mayor a menor

  • Son equivalentes para ordenar de menor a mayor que de mayor a menor

Explicación

Pregunta 39 de 56

1

???? ?
(???????? 9) Los niveles de recursividad máximo que alcanzan los métodos de ordenación por descomposición
QuickSort y MergeSort con distintas secuencias de tamaño 1000

Selecciona una de las siguientes respuestas posibles:

  • Es menor con el QuickSort que con el MergeSort.

  • Es mayor con el QuickSort que con el MergeSort.

  • Es siempre el mismo con ambos métodos.

  • Dependiendo de la secuencia es unas veces mayor con uno y otras con el otro.

Explicación

Pregunta 40 de 56

1

???? ?
(???????? 10) El pivote del método de ordenación QuickSort

Selecciona una de las siguientes respuestas posibles:

  • No puede coincidir con ningún valor de la secuencia a ordenar

  • Tiene que ser un número positivo

  • No puede ser un número entero.

  • No puede ser mayor que los valores de todos los elementos de la secuencia

Explicación

Pregunta 41 de 56

1

???? ?
(???????? 1) El recorrido en preorden de los nodos de un árbo! AVL puede ser

Selecciona una de las siguientes respuestas posibles:

  • 2 3 1 5 4

  • 4 3 1 2 5

  • 3 2 1 5 4

  • 1 2 4 5 3

Explicación

Pregunta 42 de 56

1

???? ?
(???????? 2) En un árbol AVL de más de 5 de nodos ocurre siempre que

Selecciona una de las siguientes respuestas posibles:

  • a diferencia del número de nodos en los dos sub-árboles es menor o igual a uno

  • el elemento de menor valor de todo el árbol está en el subárbol izquierdo.

  • al menos la mitad de los nodos tiene dos hijos

  • los dos subárboles deben tener la misma profundidad o altura.

Explicación

Pregunta 43 de 56

1

???? ?
(???????? 3) En los árboles AVL tiene que verificarse que

Selecciona una de las siguientes respuestas posibles:

  • La diferencia de altura entre los subárboles derecho e izquierdo es 0, -1 o +1

  • La diferencia entre el número de nodos de los dos subárboles de cada rama es 0, -1 o +1

  • La diferencia de altura entre el subárbol derecho e izquierdo de cada rama es 0, -1 o +1

  • La diferencia entre el número de nodos de los subárboles derecho e izquierdo es 0, -1 o +1

Explicación

Pregunta 44 de 56

1

???? ?
(???????? 4) La altura de un árbol binario

Selecciona una de las siguientes respuestas posibles:

  • Equivale al numero de nodos hojas del árbol binario

  • Es el orden del logaritmo del numero de nodos

  • Equivale al numero total de nodos del árbol binario

  • Equivale a la profundidad del árbol binario

Explicación

Pregunta 45 de 56

1

???? ?
(???????? 5) El preorden de un árbol AVL

Selecciona una de las siguientes respuestas posibles:

  • 4 1 2 3 6 5

  • 4 2 1 3 5 6

  • 5 2 3 6 1 4

  • 2 3 4 5 6 1

Explicación

Pregunta 46 de 56

1

???? ?
(???????? 6) Eliminar un nodo en un árbol AVL

Selecciona una de las siguientes respuestas posibles:

  • Se puede producir desbalanceo en ambos hijos del nodo a eliminar

  • Se puede producir desbalanceo en los descendientes del hermano del nodo a eliminar

  • Se puede producir desbalanceo en le hermano del nodo a eliminar

  • Se puede producir desbalanceo en los ascendentes del nodo a eliminar

Explicación

Pregunta 47 de 56

1

???? ?
(???????? 7) El recorrido en postorden de los nodos de un árbol AVL puede ser

Selecciona una de las siguientes respuestas posibles:

  • 1 2 4 5 3

  • 2 3 1 5 4

  • 4 3 1 2 5

  • 1 2 3 4 5

Explicación

Pregunta 48 de 56

1

???? ?
(???????? 7) El recorrido en postorden de los nodos de un árbol AVL puede ser

Selecciona una de las siguientes respuestas posibles:

  • 1 2 4 5 3

  • 2 3 1 5 4

  • 4 3 1 2 5

  • 1 2 3 5 4

Explicación

Pregunta 49 de 56

1

???? ?
(???????? 8) La altura de un árbol binario (contando con la raíz con altura 1)

Selecciona una de las siguientes respuestas posibles:

  • Es del orden del logaritmo (e base 2) del numero de nodos

  • Es el logaritmo (en base 2) del numero de nodos

  • Es menor que el logaritmo (en base 2) del numero de nodos

  • Es mayor que el logaritmo (en base 2) del numero de nodos

Explicación

Pregunta 50 de 56

1

???? ?
(???????? 9) En un árbol binario

Selecciona una de las siguientes respuestas posibles:

  • Cada nodo tiene como máximo grado 2

  • Cada nodo tiene como mínimo grado 2

  • Cada nodo tiene como máximo grado 1

  • Cada nodo tiene como mínimo grado 1

Explicación

Pregunta 51 de 56

1

???? ?
(???????? 10) En relación a los árboles binarios

Selecciona una de las siguientes respuestas posibles:

  • Todos los nodos tienen descendientes

  • Los árboles binarios pueden ser vacíos

  • Todos los nodos tienen siempre dos descendientes

  • Todos los nodos tienen un único antecesor

Explicación

Pregunta 52 de 56

1

???? ?
(???????? 11) Al eliminar un nodo en un árbol AVL

Selecciona una de las siguientes respuestas posibles:

  • Se puede producir desbalanceo en ambos hijos del nodo a eliminar

  • Se puede producir desbalanceo en el hermano del nodo a eliminar

  • Se puede producir desbalanceo en los descendientes del nodo a eliminar

  • Se puede producir desbalanceo en los descendientes del hermano del nodo a liminar

Explicación

Pregunta 53 de 56

1

???? ?
(???????? 12) En un árbol AVL de un número impar y mayor que 3 de nodos

Selecciona una de las siguientes respuestas posibles:

  • los dos subárboles deben tener el mismo número de nodos

  • el elemento de mayor valor está siempre en el subárbol derecho

  • los nodos que no son hojas tienen dos hijos

  • los dos subárboles deben tener la misma profundidad

Explicación

Pregunta 54 de 56

1

???? ?
(???????? 13) El recorrido en postorden de los nodos de un árbol AVL puede ser

Selecciona una de las siguientes respuestas posibles:

  • 2 3 1 5 4

  • 1 2 5 4 3

  • 1 4 5 3 2

  • 1 5 4 3 2

Explicación

Pregunta 55 de 56

1

???? ?
(???????? 14) Al eliminar un nodo en un árbol AVL

Selecciona una de las siguientes respuestas posibles:

  • No se produce ningún desbalanceo en los descendientes de su hermano

  • No se produce desbalanceo en ninguno de sus ascendientes

  • No se produce desbalanceo en ninguno de sus descendientes

  • No se produce ningún desbalanceo

Explicación

Pregunta 56 de 56

1

???? ?
(???????? 15) La condición de equilibrio en árboles AVL definida de forma recursiva

Selecciona una de las siguientes respuestas posibles:

  • La diferencia de altura entre el subárbol derecho e izquierdo es a lo sumo una unidad

  • El número de nodos del árbol izquierdo debe ser a lo sumo uno más que el derecho

  • La diferencia entre el número de nodos de los dos subárboles debe ser a lo sumo una unidad

  • La diferencia entre la altura de un nodo y cualquiera de sus hijos es 1

Explicación