EXAM 8
|
|
Título del Test:
![]() EXAM 8 Descripción: Data Structures and Algorithms |



| Comentarios |
|---|
NO HAY REGISTROS |
|
1. En una estructura de tipo árbol, ¿qué es un nodo hoja?. a. Nodo del que no deriva ningún subárbol. b. Nodo del que deriva al menos un subárbol. c. Nodo del que deriva únicamente un subárbol. d. Nodo del que descienden todos los nodos restantes del árbol. 2. En una estructura de tipo árbol, ¿qué es el nivel de un nodo?. a. Distancia entre el nodo y la raíz. b. Distancia entre el nodo y la hoja. c. Distancia máxima entre la hoja y la raíz. d. Número de nodos del árbol. 3. ¿Cuándo un árbol binario está completo?. a. Cuando hay exactamente el mismo número de elementos en los dos subárboles de la raíz. b. Cuando las alturas de los subárboles de cada nodo difieran, como mucho, en una unidad. c. Cuando todos los nodos que contiene, salvo las hojas, tienen exactamente dos subárboles. d. Cuando tiene el repertorio de datos ordenado. 4. Acerca del recorrido de árboles, cuando el algoritmo de recorrido visita, en primer lugar, el subárbol izquierdo, después, el derecho, y, finalmente, el nodo raíz, el recorrido se llama: a. Preorden. b. Inorden. c. Postorden. d. Orden completo. 5. En el lenguaje C, los índices de los arrays deben ser: a. Números enteros. b. Números enteros o string. c. String. d. Números enteros o números de coma flotante. 6. Calcula el orden asintótico de complejidad para el siguiente algoritmo: for (int i=0; i<dim; i++) for (int j=0; j<10; j++) v[i][j]=i+. a. O(1). b. O(n). c. O(n2). d. O(2n). 7. La directiva #include de C permite incluir: a. Variables al programa para poder hacer uso de ellas. b. Ficheros adicionales para incorporar funciones y recursos. c. Constantes al programa para poder hacer uso de ellas. d. La posibilidad de actuar como lenguaje interpretado. 8. La sentencia de C que permite escribir algo por pantalla es: a. scanf. b. clrscr. c. printf. d. gotoxy. 9. Señala la frase verdadera respecto al lenguaje C: a. Es orientado a objetos. b. Es interpretado. c. Distingue entre minúsculas y mayúsculas en identificadores. d. Es un lenguaje de bajo nivel, del mismo tipo que el lenguaje ensamblador. 10. La complejidad temporal de un algoritmo, sin reducirlo a ningún tipo de orden, se expresa con: a. P(N). b. O(N). c. S(N). d. T(N). 11. ¿Cuál de las siguientes es una estructura de datos estática?. a. Colas. b. Matrices. c. Árboles. d. Tablas hash. 12. Las dos acciones principales de una pila son apilar y desapilar, que se suelen nombrar como: a. Push y pop. b. Push y top. c. Put on y put off. d. Pop on y pop off. 13. Las colas permiten... a. ... encolar y desencolar. b. ... solo encolar. c. ... solo desencolar. d. ... encolar y editar. 14. En una lista, las adiciones de elementos se pueden realizar: a. Solo en la cabeza de la lista. b. Solo en la cola de la lista. c. Solo en la parte media de la lista. d. En cualquier parte de la lista. 15. ¿Qué estructura de datos es mejor para expresar el funcionamiento de un almacén de platos (todos iguales) de una vajilla de cocina a la hora de guardar y sacar dichos platos?. a. Una cola, puesto que lo natural es que vayamos sacando los platos en el mismo orden en el que los guardamos. b. Una lista, ya que así podemos guardar los platos en el orden que necesitemos. c. Un grafo, dado que es la forma más visual de poder coger el plato que queramos. d. Una pila, dado que cuando guardamos un plato, lo dejamos encima y cuando queremos sacar un plato, sacamos el que está encima de todos. 16. Los lenguajes de programación se pueden clasificar en tres tipologías. ¿Cuál de las siguientes no es una de estas tipologías?. a. Lenguajes según la técnica de traducción. b. Lenguajes según el nivel de abstracción. c. Lenguajes según el paradigma de programación. d. Lenguajes según la plataforma tecnológica. 17. Los lenguajes compilados son los que: a. Se ejecutan línea a línea sin necesidad de haberse compilado. b. Se distribuyen en archivos ejecutados por una máquina virtual. c. Necesitan generar un archivo ejecutable para que los programas se puedan lanzar. d. Son específicos de una plataforma en concreto. 18. Los lenguajes lógicos: a. Se basan en funciones matemáticas y en su composición para realizar cálculos. b. Emplean comandos para realizar las acciones necesarias indicadas en el programa. c. Están establecidos sobre el razonamiento formal. d. Utilizan interacciones entre objetos para el diseño de aplicaciones. 19. La fase de codificación de un programa consiste en traducir a código fuente: a. El diseño. b. Los requisitos del cliente. c. La especificación funcional. d. Las pruebas. 20. La representación NS de algoritmos se basa en: a. Pseudocódigo. b. Cajas. c. Diagramas de flujo. d. Diagramas de bolas. 21. Dado el siguiente grafo, indica cuál es la matriz de adyacencia: a. | 0 1 1 0 0 0 0 0 | | 1 0 0 1 0 0 1 1 | | 1 0 0 0 1 0 0 0 | | 0 1 0 0 1 0 0 0 | | 0 0 1 1 0 0 0 1 | | 0 0 0 0 0 0 1 0 | | 0 1 0 0 0 1 0 0 | | 0 1 0 0 1 0 0 0 |. b. | 0 1 1 0 0 0 0 0 | | 1 0 0 1 0 0 1 1 | | 1 0 0 0 1 0 0 0 | | 0 1 0 0 1 0 0 0 | | 0 0 1 1 0 1 0 1 | | 0 0 0 0 0 0 1 0 | | 0 1 0 0 0 1 0 0 | | 0 1 0 1 1 0 0 0 |. c. | 1 1 1 0 0 0 0 0 | | 1 1 0 1 0 0 1 1 | | 1 0 1 0 1 0 0 0 | | 0 1 0 1 1 0 0 0 | | 0 0 1 1 1 0 0 1 | | 0 0 0 0 0 1 1 0 | | 0 1 0 0 0 1 1 0 | | 0 1 0 1 1 0 0 1 |. d. | 1 0 0 1 1 1 1 1 | | 0 1 1 0 1 1 0 0 | | 0 1 1 1 0 1 1 1 | | 1 0 1 1 0 1 1 1 | | 1 1 0 0 1 1 1 0 | | 1 1 1 1 1 1 0 1 | | 1 0 1 1 1 0 1 1 | | 1 0 1 0 0 1 1 1 |. 22. Cuando en un grafo es necesario considerar el sentido de la relación entre dos nodos (pintando una flecha entre ambos), se trata de un grafo: a. Bipartito. b. Simple. c. Dirigido. d. Con bucle. 23. Para liberar memoria en lenguaje C, hay que usar la función: a. calloc. b. malloc. c. free. d. realloc. 24. Indica el orden en que se tratan los nodos en el recorrido en anchura para el siguiente grafo: a. D, F, T, C, U, L, M. b. D, F, C, U, T, L, M. c. C, F, U, L, M, T, D. d. C, U, L, M, F, T, D. 25. Para reservar memoria en lenguaje C, hay que emplear: a. calloc. b. malloc. c. malloc o calloc. d. realloc. 26. ¿Cuándo se dice que se ha producido desbordamiento en una tabla hash?. a. Cuando ya no hay direcciones disponibles por agotamiento de la función de dispersión. b. Cuando al intentar calcular la dirección de una nueva clave, la función nos da una dirección ya asignada a otra clave. c. Cuando no se encuentra el valor asociado a la clave. d. Cuando no hay más memoria en el sistema. 27. Las dos operaciones básicas sobre una tabla hash son: a. Insertar un elemento y buscar un elemento. b. Insertar un elemento y borrar un elemento. c. Inicializar la tabla y buscar un elemento. d. Buscar un elemento y borrar un elemento. 28. Para trabajar con cadenas de caracteres en ficheros haciendo uso de lenguaje C y la librería stdio, conviene emplear las funciones: a. fprintf y fscanf. b. fgets y fputs. c. fprintf, fscanf, fgets y fputs. d. fread y fwrite. 29. ¿A qué se refiere el término clave sinónima respecto a tablas hash?. a. A aquellas claves diferentes que, tras aplicar la función de dispersión, devuelven el mismo valor. b. A claves que devuelven datos con el mismo valor, pese a que las direcciones sean distintas. c. A claves para las que ya no hay direcciones libres por el agotamiento de la función de dispersión empleada. d. A claves iguales que devuelven el mismo valor tras aplicar funciones de dispersión distintas. 30. Para poder manejar ficheros en lenguaje C, ¿cómo debe declararse la variable que gestiona el acceso al fichero?: a. De tipo FILE. b. De tipo char[]. c. De tipo puntero a FILE. d. De tipo puntero a char. |




