option
Cuestiones
ayuda
daypo
buscar.php
TEST BORRADO, QUIZÁS LE INTERESE: EEDD UJA 21/22
COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
EEDD UJA 21/22

Descripción:
Versión corregida. Si hay mas fallos, avisar por whatsapp.

Autor:
Sara D. R. y Daniel H. P.
OTROS TESTS DEL AUTOR

Fecha de Creación:
15/01/2022

Categoría: Universidad

Número Preguntas: 110
COMPARTE EL TEST
COMENTARNuevo Comentario
AVATARlucilu15 ( hace 2 años )
Denunciar Comentario
La pregunta: el porsorden del siguiente ABB es (3-5) mas (8-4) está mal. Lo correcto es: (3*5) mas (8-4). Pero os loveo igualmente <3
Temario:
La lista de STL, list, implementa el operador []. Verdadero Falso.
Una matriz 3D podría almacenar jugadores de un equipo Verdadero Falso.
La lista circular se puede implementar con un vector de manera eficiente Verdadero Falso.
En una lista de vectores: i->insert(i->begin()+pos, c) siendo i un puntero que apunta al vector, es una sintaxis correcta. Verdadero Falso.
Sean dos conjuntos A y B, instanciados con vectores, se puede obtener el elemento c = a *unión* b en tiempo cuadrático. Verdadero Falso.
Añadir elementos al principio, begin(), de un vector se realiza en tiempo O(1). Verdadero Falso.
El iterador (it) de una lista no se puede mover como it + el número de posiciones deseadas. Verdadero Falso.
Un vector estático puede implementar eficientemente a pilas y colas estáticas Verdadero Falso.
Una lista puede implementar eficientemente a pilas y colas dinámicas Verdadero Falso.
Un deque puede implementar eficientemente a pilas y colas dinámicas. Verdadero Falso.
Se usa una estructura de datos de tipo pila para evitar la recursividad en procesos que agotan su pila. Verdadero Falso.
Una cola con prioridad se puede implementar con vectores, vectores de listas o listas de listas de manera eficiente. Verdadero Falso.
Un stack (pila) o queue (cola) se pueden implementar con listas de STL, además de poder cambiarse a vectores. Verdadero Falso.
Para crear una cola con prioridad donde el dato más prioritario es el mayor, de debe cambiar el operador por defecto de less a greater Verdadero Falso.
Una pila puede eliminar la recursividad para calcular la secuencia de Fibonacci Verdadero Falso.
Conocer la altura de un ABB (árbol binario) nos da información sobre el número total de datos de dicho ABB. Verdadero Falso.
Dos ABBs equivalentes pueden diferenciarse en la altura, raíz y hojas. Verdadero Falso.
El posorden del siguiente ABB es: (3-5)+(8-4). Verdadero Falso.
Para obtener los datos ordenados en un ABB se recorre en preorden. Verdadero Falso.
La recursividad de un ABB puede resolverse de forma iterativa, mediante una pila de punteros a nodos. Verdadero Falso.
Para recorrer un ABB por niveles con el siguiente recorrido se necesita una cola: raíz, raíz->izq, raíz->der, raíz->izq->izq, raíz->izq->der. Verdadero Falso.
Los recorridos recursivos preorden, inorden y posorden permiten iterar sobre los árboles hacia delante y hacia atrás. Verdadero Falso.
Dado el siguiente AVL, la inserción del dato {10} requiere una rotación a doble a la derecha Verdadero Falso.
Si se introducen datos en orden ascendente en un AVL, el tipo de rotación que se realizara siempre sería el caso 4 (rotación a la izquierda). Verdadero Falso.
En un AVL, tras la inserción, el proceso de ajuste requiere a lo sumo una única rotación simple o doble. Verdadero Falso.
Se pueden listar los datos en un AVL de mayor a menor. Verdadero Falso.
No es posible que en un AVL se tenga un nodo hoja a una profundidad de 4 y otra hoja a una profundidad de 8. Verdadero Falso.
En un AVL, las rotaciones garantizan que el numero de descendientes por la izquierda y derecha de un nodo difiere a lo sumo en 1. Verdadero Falso.
No es recomendable implementar un heap con punteros. Verdadero Falso.
La operación pop() es más eficiente en un heap que en una cola con prioridad implementada con una lista de listas. Verdadero Falso.
Un heap permite obtener el dato con menor prioridad en O(1). Verdadero Falso.
Si la clase ClassA tiene el siguiente atributo: map<string, *ClassB> atributo; entonces necesariamente la relación entre ClassA y ClassB es de asociación. Verdadero Falso.
Si esta sentencia es válida, entonces micontainer puede tener esta definición: map <int, vector<int> > micontainer. Verdadero Falso.
El objeto mc se define como: map <int, miClase> mc; ¿se podría realizar la siguiente operación sobre mc? Map<int, miClase>::iterator it = mc.begin(); *(it).first = 5; Verdadero Falso.
El contenedor de STL más adecuado para albergar las reservas de un restaurante para tener acceso a éstas por fecha es un mapa de la siguiente forma: multimap <Fecha, Reserva>. Verdadero Falso.
La correspondiente definición de una matriz dispersa en STL según la Lección 7 es: vector <list<int> > matrizDis; Verdadero Falso.
La siguiente sentencia: v[“María”] = dato; es válida si v representa a un deque. Verdadero Falso.
Un map definido como: <int, ClaseA> puede sustituirse por un set<ClaseA> si ClaseA tiene sobrecargado el operador < y la clave entera forma parte de la clase ClaseA. Verdadero Falso.
Si en el caso anterior el operador < ya está usándose para otro tipo de ordenación sobre ClaseA, entonces se puede usar la definición: set<ClaseA, comparaClaseA>. Verdadero Falso.
Toda función de dispersión debe acabar con %tamaTabla. Verdadero Falso.
El djb2 no es una función de dispersión de cadenas. Verdadero Falso.
Si la tabla A tiene una lambda = 0.5 y en la tabla B, lambda = 0.75, entonces la tabla B tiene más datos que la A Verdadero Falso.
Si la tabla A tiene una lambda = 0.5 y en la tabla B, lambda = 0.75, entonces la tabla B está porcentualmente más llena que la A. Verdadero Falso.
En STL la dispersión abierta se define como un list< list< Entrada< T>> >. Verdadero Falso.
En dispersión abierta se sabe que la función de dispersión es buena conociendo el tamaño de las listas de entradas. Verdadero Falso.
El djb2 diferencia las posiciones de las letras de CASA y SACA mediante desplazamientos a nivel de bits con la cadena entrante. Verdadero Falso.
Los agrupamientos secundarios se producen cuando claves que son dispersadas a posiciones diferentes siguen la misma secuencia de búsqueda para localizar una posición disponible. Verdadero Falso.
Una tabla de dispersión cerrada con cubetas disminuye el riesgo de colisiones, pero aun así necesita una estrategia de resolución de colisiones. Verdadero Falso.
Para evitar tantos agrupamientos primarios como secundarios es preferible utilizar dispersión cuadrática que dispersión doble. Verdadero Falso.
Una tabla de dispersión cerrada construida correctamente permite localizar un dato por su clave de manera más eficiente que un árbol AVL. Verdadero Falso.
La técnica de dispersión doble permite evitar agrupamientos primarios, pero no secundarios. Verdadero Falso.
Las posiciones vacías y disponibles (contuvieron un dato en el pasado, pero fue borrado) se manejan de igual forma a la hora de insertar un dato en una tabla de dispersión cerrada. Verdadero Falso.
Es posible que sea necesario seguir el proceso de búsqueda en una tabla hash con dispersión cerrada y cubetas de tamaño 5 cuando se llega a una cubeta con 3 datos. Verdadero Falso.
Un grafo que representa carreteras nacionales puede considerarse un grafo ponderado, no dirigido y posiblemente cíclico. Verdadero Falso.
Como un árbol es un grafo conexo sin ciclos entonces un recorrido en anchura (BFS) empezando en la raíz es un recorrido del árbol por niveles. Verdadero Falso.
Averiguar las aristas de entrada a un nodo en un grafo dirigido implementado mediante listas invertidas es más eficiente que implementado sobre una matriz de adyacencia. Verdadero Falso.
El recorrido en profundidad de un grafo usa normalmente una cola mientras que en anchura su implementación es como pila o recursiva. Verdadero Falso.
Un árbol binario es un grafo normalmente dirigido, conexo y libre de ciclos donde el grado de salida de todos los nodos es menor o igual a 2. Verdadero Falso.
Encontrar el punto más cercano a otro en una malla regular puede suponer recorrer más de 20 casillas. Verdadero Falso.
Una malla regular en 3D tiene requiere más tiempo de acceso para localizar un punto que una en 2D. Verdadero Falso.
Si la malla regular albergara una simulación de partículas en el espacio que se mueven despacio (menos del tamaño de una celda por quantum de tiempo), entonces localizar hacia donde se dirige una partícula del instante t1 al t2 es un tiempo constante. Verdadero Falso.
Se permite que un quadtree esté desequilibrado, es decir, que unas ramas sean mucho más largas que otras. Verdadero Falso.
Dada una codificación del nodo del nodo: 00-10-11-01-11-10, se puede conocer exactamente el área del plano a la representa. Verdadero Falso.
Un octree es la representación 3D del quadtree y en este caso cada nodo tiene (4x4) nodos hijos. Verdadero Falso.
El siguiente orden es correcto en relación a la velocidad de acceso de los dispositivos: DVD, CD, memoria flash, HHD, SSD. Verdadero Falso.
Es conveniente conocer el tamaño de bloque del ordenador para ajustar correctamente el número de campos por registro. Verdadero Falso.
Es preferible el uso de ficheros de texto como ficheros internos a las aplicaciones y los binarios como ficheros de intercambio entre aplicaciones. Verdadero Falso.
Los registros con longitud fija permiten acceder mediante un acceso al dato posicionado en la posición lógica k, mientras que los de longitud variable necesitan algún mecanismo de indexación. Verdadero Falso.
Para eliminar un registro en un fichero que maneja pila de borrados se necesita un número indeterminado de acceso a disco. Verdadero Falso.
El proceso de lectura de todos los registros de un fichero de manera secuencial no necesita mover explícitamente al apuntador del fichero. Verdadero Falso.
El proceso de compactación de un fichero que maneja pila de borrados para borrar definitivamente los huecos, se puede llevar a cabo sin necesidad de recorrer los borrados en modo pila y sobre el mismo fichero. Verdadero Falso.
Cuando un índice simple es modificado, los cambios son inmediatamente reflejados en el fichero donde se guarda el índice. Verdadero Falso.
Si se usa un mapa de STL, para representar un índice simple en memoria, entonces puede localizarse cualquier registro del fichero de datos con O(log(n)) accesos a disco. Verdadero Falso.
Aunque un índice simple es una técnica para acceder eficientemente a un fichero en memoria secundaria, éste se mantiene íntegramente en memoria primaria mientras está siendo utilizado. Verdadero Falso.
Sea un fichero indexado, el índice en memoria se desactualiza por algún problema de la aplicación, la operación de borrado puede realizar un borrado de un registro incorrecto Verdadero Falso.
Al arrancar la aplicación, es necesario siempre reconstruir el índice simple a partir del correspondiente fichero de datos. Verdadero Falso.
Al contrario que en un índice primario, en un índice secundario pueden existir múltiples claves repetidas. Verdadero Falso.
La siguiente declaración: int** p permite crear las siguientes estructuras de datos en memoria: Verdadero Falso.
Si la declaración del puntero anterior p se realiza como se muestra a continuación entonces p es creado como una variable residente en la pila de aplicación: void f() { int **p; ... } Verdadero Falso.
Una matriz declarada como int a[3][5] se almacena en una zona contigua de memoria. Verdadero Falso.
Sea m1 una matriz declarada como int m1[10][20] y m2 un puntero declarado como int **m2 e iniciado mediante el siguiente código: m2 = new int*[10]; for (int c = 0; c < 10; ++c) { m2[c] = new int[20]; } Entonces el elemento existente en la posición (3, 7) se accede de igual manera con ambas estructuras de datos: m1[3][7] / m2[3][7]. Verdadero Falso.
El siguiente código presenta memory leaks: int *p = new int[1000]; for (int c = 0; c <= 1000; ++c) { p[c] = 0; } Verdadero Falso.
El siguiente código presenta heap overflows: int *p; for (int c = 0; c < 10; ++c) { p = new int[100]; } Verdadero Falso.
Una plantilla de clase instanciable para el tipo T = int puede que no lo sea para el tipo T = MiClase y no lo acepte a nivel de compilación. Verdadero Falso.
A través el puntero int **m podemos manejar una matriz creada en memoria dinámica con un número de filas y columnas arbitrario. Verdadero Falso.
Un vector dinámico es una estructura de datos básica que puede ser utilizada en la implementación de asociaciones y composiciones múltiples cuando no hay restricciones o necesidades especiales en las mismas. Verdadero Falso.
Un dato almacenado en un vector dinámico que permanece en dicha estructura de datos a lo largo de todo su ciclo de vida nunca cambia su posición de memoria. Verdadero Falso.
La siguiente definición de vector estático necesita de constructor copia y operador de asignación: template<typename T> class MiVect{ int tama; T *v; public: MiVect(int n){ v=new T[tama=n]; } ... }; Verdadero Falso.
La siguiente implementación del constructor copia de una lista enlazada no contiene errores: ListaEnlazada<T>::ListaEnlazada( const ListaEnlazada<T> &lista) { cabecera = lista.cabecera; cola = lista.cola; } Verdadero Falso.
La misma clase anterior debe definir así el operador corchete “[ ]” para que funcione correctamente (se obvian las comprobaciones de rango): T operator[](unsigned i) { return v[i]; } Verdadero Falso.
Es posible eliminar una posición de un vector dinámico en tiempo O(1) si no es necesario preservar el orden de los datos. Verdadero Falso.
La implementación normal de un vector dinámico implementa una reducción del tamaño físico tamf a la mitad cuando el tamaño lógico taml cae por debajo de tamf/2. Verdadero Falso.
El operador de asignación de la clase Matriz<T>::operator= debe siempre destruir la matriz destino de la asignación Verdadero Falso.
El operador de la clase Matriz<T>::operator+= devuelve el objeto resultado por copia Verdadero Falso.
La implementación de conjuntos mediante vectores realiza la intersección en tiempo lineal Verdadero Falso.
El problema que poseen los conjuntos de bits es que el ID de un elemento debe ser un entero desde 0 hasta el tamaño del conjunto -1. Para convertirlo en un ID genérico se necesita otra EEDD. Verdadero Falso.
Para almacenar 3841 datos en un conjunto de bits, debo crear un buffer de 480 bytes. Verdadero Falso.
a.intersec(b+a) == a es correcto Verdadero Falso.
El resultado de realizar esta operación: char mascara = 1 << (500 % 8); es 00000100 Verdadero Falso.
El tiempo para eliminar un dato en una posición arbitraria de una lista es lineal. Verdadero Falso.
El tiempo para eliminar un dato en una posición apuntada por un iterador es lineal. Verdadero Falso.
Si se ha instanciado en la clase Biblioteca a Mivect para implementar una relación de asociación con la clase Libro como: MiVect<Libro*> estante; Entonces el destructor de Biblioteca debe entonces eliminar estante ejecutando: delete[] estante; Verdadero Falso.
Para eliminar e insertar un dato en posiciones intermedias de una lista se necesita un puntero a la posición anterior al dato que se va a insertar/borrar. Verdadero Falso.
Se puede realizar la operación merge_sort entre dos listas ordenadas en tiempo O(n+m), siendo n y m los tamaños respectivos de ambas listas Verdadero Falso.
Un dato que permanece en una lista cambia su posición a veces al sufrir la lista inserciones y borrados. Verdadero Falso.
Una lista doblemente enlazada permite realizar busquedas binarias en tiempo O( logn ) si los datos se encuentran ordenados. Verdadero Falso.
Iterar sobre un vector dinámico es siempre más rápido que sobre una lista enlazada (simple o doble). Verdadero Falso.
El siguiente código inserta correctamente en un caso genérico (lista con datos), un nuevo nodo apuntado por p por delante de la posición del nodo apuntado por q en una lista doblemente enlazada y circular. p->siguiente = q; p->anterior = q->anterior; q->anterior = p; p->anterior->siguiente = q; Verdadero Falso.
Transferir todos los nodos de una lista doblemente enlazada l1 al final de la lista doblemente enlazada l2 requiere tiempo O( 1 ) (nota: l1 queda vacía tras esta operación). Verdadero Falso.
La implementación de las matrices dispersas es completamente distinta de las matrices ordinarias, estando basada en el uso de listas enlazadas. Verdadero Falso.
Denunciar Test