option
Cuestiones
ayuda
daypo
buscar.php

Taller de Algoritmos y Estructura de Datos I

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
Taller de Algoritmos y Estructura de Datos I

Descripción:
Parcial 2

Fecha de Creación: 2025/07/11

Categoría: Otros

Número Preguntas: 127

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

Indique a qué se hace referencia cuando nos referimos a la longitud de una lista simple: Seleccione la opción correcta. Nos referimos a cuánto del espacio físico está utilizando la lista en un momento determinado. A la cantidad total de memoria reservada al momento de la creación de la lista. Al número de nodos vacíos que contiene la lista. A la cantidad de elementos máximos que podría llegar a almacenar la lista.

Un nodo de cabecera representa: Un nodo extra, en una lista enlazada, que no almacena ningún dato. El último nodo de la lista, que señala el final con un puntero nulo. Un nodo especial que contiene la clave principal de toda la lista. El nodo que contiene el valor más alto entre todos los elementos de la lista.

El último nodo de una lista enlazada debe: Apuntar nuevamente al primer nodo para formar una lista circular. Tener Null como enlace. Contener un contador de los nodos anteriores. Enlazar con un nodo auxiliar que indica el fin de la lista.

Las listas enlazadas permiten insertar y eliminar de la siguiente manera: Insertar y eliminar solo si la lista está completamente vacía. Insertar al principio únicamente y eliminar desde el final. Solo insertar al final y eliminar desde el principio. Insertar en cualquier lugar de la lista y eliminar cualquier elemento de la lista.

En la operación de una lista enlazada, utilizamos un nodo auxiliar llamado ACTUAL. El mismo es también utilizado en los algoritmos con el nombre de: TEMPORAL. INICIO. AUX. NODO_FIN.

En una lista enlazada, el nodo auxiliar AUX nos sirve para: Recorrer la lista. Ordenar los elementos según su valor. Eliminar automáticamente todos los nodos. Dividir la lista en sublistas independientes.

En una lista enlazada, utilizamos nodos auxiliares para realizar operaciones. Uno de ellos es llamado FIN, el cual se utiliza para: Apuntar al nodo anterior al primero. Marcar el punto medio de la lista. Almacenar la referencia al último nodo de la lista, también llamado último. Eliminar el último nodo automáticamente cuando la lista alcanza su capacidad.

Una lista enlazada permite insertar y eliminar siguiendo el criterio de: Insertar y eliminar solo en posiciones pares de la lista. Insertar en el medio únicamente y eliminar desde los extremos. Insertar solo al final y eliminar solo al principio. Insertar en cualquier lugar y eliminar cualquier elemento.

En una Lista Enlazada conocemos también al NODO NUEVO como: Prev. Tmp. Head. Tail.

En una lista enlazada, el orden de sus componentes se da por: Direcciones (punteros) que se referencian entre sí. La posición física de los nodos en la memoria. El valor numérico almacenado en cada nodo. Un índice asignado al momento de crear la lista.

En una lista enlazada, los nodos ligados: Siempre están almacenados uno junto al otro en memoria. No tienen que estar físicamente adyacentes. Deben estar ordenados por valor para estar ligados. Se almacenan en posiciones contiguas para facilitar el acceso.

En una Lisa Enlazada, al referirnos al primer nodo, estamos mencionando al: Nodo que contiene el total de elementos de la lista. Nodo que ocupa la primera posición en memoria. Nodo con el valor más bajo. Primero según el orden lógico.

Al momento de realizar operaciones con las listas enlazadas, necesitamos utilizar CABECERA, FIN, TMP, ACTUAL, a los cuales conocemos como: Nodos Auxiliares. Nodos Terminales. Nodos Raíz. Nodos Principales.

¿Cuál es el nodo que, en una lista enlazada, no tiene ningún dato y solo tiene la referencia al primer nodo de la lista?. Nodo Auxiliar. Nodo Nuevo. Nodo Terminal. Nodo Cabecera.

En una lista enlazada, cada nodo debe almacenar: Solo el dato, sin enlace. Un enlace hacia el nodo anterior solamente. La cantidad total de nodos de la lista. El dato y un enlace que señala al nodo siguiente.

¿Qué sucede en una lista simple cuando se apunta la referencia frente a null?. La lista se convierte en una lista circular. La lista se reinicia y todos los nodos se mantienen. Se crea un nuevo nodo en la lista. Se elimina la lista completa de la memoria.

La siguiente porción de código: Nodo nuevo; nuevo = new Nodo(info); nuevo.Siguiente = this.frente = nuevo; ¿En qué posición de una lista simple está insertado el nuevo nodo?. En una posición intermedia. Al frente. Al final. No se inserta ningún nodo.

¿Cuándo una lista es simplemente enlazada?. Cada nodo contiene un único enlace que lo conecta al nodo siguiente o nodo sucesor. Cada nodo está conectado a todos los demás nodos de la lista. Cada nodo contiene dos enlaces, uno al nodo anterior y otro al siguiente. La lista no tiene enlaces entre nodos, solo almacena datos.

Como profesional, le consultan en qué consiste la operación de la estructura de datos enlazada “recorrer”. Usted ¿qué responde?. Consiste en crear una nueva lista enlazada desde cero. Consiste en modificar el valor de un nodo específico. Consiste en visitar cada uno de los datos o nodos de que consta. Consiste en eliminar todos los nodos de la lista.

Seleccione la opción correcta. Como profesional le consultan en qué consisten los dos elementos que conforman un nodo dentro de las listas enlazadas. Usted, ¿qué responde?. La primera parte es un contador y la segunda parte un identificador único. Ambas partes contienen únicamente datos sin referencias. La primera parte contiene la información y la segunda parte es una referencia que apunta al siguiente elemento de la lista. La primera parte contiene la dirección del nodo anterior y la segunda parte contiene la dirección del nodo siguiente.

Como profesional le consultan por qué la inserción de un elemento al final de una lista enlazada es menos eficiente. Usted, ¿qué responde?. La inserción al final de la lista es menos eficiente debido a que, normalmente, no tiene un puntero al último nodo. Porque los nodos están almacenados en memoria contigua y moverlos es costoso. Porque hay que reorganizar todos los nodos después del último elemento. Porque al insertar al final se duplican los datos en la lista.

Las operaciones básicas implementadas para manejar listas enlazadas son únicamente: Listavacia(L), Insertar(L,x,p), Localizar(L,x) y Suprimir(L,x). Falso. Verdadero.

¿Para qué se utilizan las listas enlazadas de la API Java - LinkedList?. Para almacenar únicamente datos primitivos. Evitar tener que mover grandes cantidades de datos. Para reemplazar a los arrays en todas las situaciones. Para garantizar acceso constante a cualquier elemento por índice.

Como profesional le consultan qué procedimiento siguen las listas doblemente enlazadas. Usted, ¿qué responde?. Cada nodo contiene dos enlaces, uno a su nodo predecesor y otro a su nodo sucesor. Cada nodo contiene un enlace único que apunta al siguiente nodo. Los nodos están desconectados entre sí y solo contienen datos. Los nodos se almacenan en una estructura de árbol binario.

Seleccione las 4 opciones correctas. Las operaciones que normalmente se ejecutan con listas incluyen: Encontrar el nodo que contiene la información específica. Insertar un nuevo nodo en un lugar específico de una lista. Insertar un nuevo nodo en relación a una información particular. Ordenar automáticamente los nodos sin intervención del programador. Eliminar un nodo específico de la lista.

El underflow o subdesbordamiento se produce cuando se tiene una lista vacía y se…. Falso. Verdadero.

El tiempo de ejecución para la operación de <> (add - al final) de las API Java LinkedList (listas enlazadas) es de: O(log n). O(n²). O(n). O(1).

El tiempo de ejecucion para la operacion de <> de las API Java LinkedList (listas enlazadas) es de: O(1). O(n²). O(log n). O(n).

¿Para qué se utilizan las listas enlazadas de la API Java - LinkedList?. Evitar tener que mover grandes cantidades de datos. Almacenar solo datos inmutables. Mejorar el acceso aleatorio a los elementos. Garantizar ordenamiento automático de los elementos.

El método compareTo() permite comparar por: Solo si un objeto es mayor que otro. Solo si un objeto es menor que otro. Solo igualdad. Igual, mayor o menor.

Si al comparar dos cadenas u objetos con compareTo() obtenemos como resultado 0 (cero), si hacemos la misma operación con equals() el resultado debe ser: False. True. Depende del objeto. No se puede determinar.

El método equals() pertenece a la clase: Object. List. String. Integer.

Cuando se implementa la clase (class) DoublyLinkedList, ¿para qué se utiliza el método removeFirst()?. Eliminar el último elemento de la lista sin devolverlo. Contar la cantidad de elementos en la lista. Eliminar y devolver el primer elemento de la lista. Insertar un nuevo elemento al inicio de la lista.

Cuando se implementa la clase (class) DoublyLinkedList, ¿para qué se utiliza el método last()?. Eliminar el último elemento de la lista. Insertar un nuevo elemento al final de la lista. Devolver el primer elemento de la lista. Devolver (pero no eliminar) el último elemento de la lista.

Al implementar una lista enlazada en Java, utilizando la clase (class) SinglyLinkedList, el método size() se utiliza para: Devolver el número de elementos de la lista. Verificar si la lista está vacía. Insertar un nuevo elemento en la lista. Eliminar el primer elemento de la lista.

Cuando se implementa la clase (class) SinglyLinkedList, si se llama al método removeFirst() en una lista que está vacía, ¿qué devuelve?. Devuelve un nodo vacío. Null. Lanza una excepción de error. Devuelve el último elemento de la lista.

Si hablamos de clase iteradora, indicar la afirmación incorrecta: Permite recorrer los elementos de una colección uno a uno. Se usa para modificar directamente la estructura interna de la lista sin control. Dispone de métodos que tratan la lista como una unidad o acepta un iterador como parámetro. Facilita la navegación secuencial a través de los elementos.

Puede derivarse una clase de lista enlazada ordenada a partir de una clase de lista. Verdadero. Falso.

¿Cómo se comprueba fácilmente si una lista doblemente enlazada está vacía? Seleccione las 2 (dos) opciones correctas: tail.prev == head. tail == null. head == null. tail.prev == head.

En las listas doblemente enlazadas: Los nodos están almacenados en memoria contigua. Cada nodo contiene un único enlace hacia el siguiente nodo. El primero solo enlaza con el segundo nodo y el último no enlaza con nadie. El primero enlaza con el último nodo y el último enlaza con el primero.

Podemos decir que las listas doblemente enlazadas comparadas con las simplemente enlazadas tienen una utilización de memoria: Igual. Mayor. Menor. Insignificante.

¿Se pueden usar, simultáneamente, Listas Doblemente Enlazadas con Listas Circulares?. Si. No. No se.

Indique cuál de las siguientes afirmaciones es falsa con respecto a una lista circular simplemente enlazada: En una lista circular simplemente enlazada, el último nodo apunta al primer nodo. Las listas circulares son estructuras de datos en la que el último nodo apunta al inmediatamente anterior. Las listas circulares permiten recorrer la lista indefinidamente desde cualquier nodo. No existe un nodo con referencia nula en una lista circular simplemente enlazada.

¿Cuáles de los siguientes se corresponden con los pasos para eliminar un elemento de una lista doblemente enlazada? Seleccione las 4 (cuatro) opciones correctas: La referencia anterior del nodo siguiente a borrar tiene que apuntar a la referencia anterior del nodo a eliminar (si no es el último nodo). Siempre se debe reiniciar la lista completa para eliminar un nodo. Buscar el nodo que contiene el dato. Si el nodo que se elimina es el primero, frente, se modifica frente para que tenga la dirección del nodo siguiente. Luego la memoria ocupada por el nodo es liberada automáticamente. La referencia siguiente del nodo anterior tiene que apuntar a la referencia siguiente del nodo a eliminar (si no es nodo cabecera).

En una lista simplemente enlazada, ¿cómo debemos eliminar un elemento de la lista?. Recorriendo toda la lista para eliminar todos los nodos. Usando un solo puntero que apunte al nodo anterior y eliminando directamente ese nodo. Usando un puntero que apunte al nodo que vamos a eliminar (aux) y otro que apunte al nodo anterior (ant). Luego eliminamos el nodo referenciado por aux haciendo que el siguiente de ant apunte al siguiente de aux. Eliminando el nodo sin actualizar ningún puntero.

En una lista simplemente enlazada, ¿cómo agregamos un nuevo elemento al final de la misma? Seleccione la opción correcta: Ir al primer nodo, recorrer la lista hasta el nodo final que posee el valor NULL en su referencia al siguiente. Crear un nuevo nodo y enlazarlo al final. Eliminar el último nodo y reemplazarlo por el nuevo nodo. Insertar el nuevo nodo al principio y mover todos los demás nodos una posición adelante. Crear un nodo nuevo y enlazarlo al nodo cabecera sin recorrer la lista.

En una lista circularmente enlazada tenemos que: El enlace next del último nodo es siempre NULL. El enlace next del primer nodo apunta al último nodo. El enlace next del último nodo hace referencia a FIRST. El último nodo no tiene enlace.

Cuando hablamos de una lista doblemente enlazada decimos que: Permite un recorrido bidireccional de la lista almacenando 2 enlaces por cada nodo. Solo permite recorrer la lista en un sentido, de inicio a fin. Cada nodo almacena un único enlace al siguiente nodo. No contiene referencias a nodos anteriores.

Es una característica de las listas enlazadas circulares: Siempre tiene un nodo con referencia NULL. No posee extremos. Tiene un nodo que señala el final de la lista. Solo puede ser recorrida desde el primer nodo.

Es una ventaja de las listas enlazadas: Siempre requieren memoria contigua para almacenar los elementos. El acceso a elementos es instantáneo por índice. Se puede comenzar con el espacio para un solo elemento asignado. No permiten insertar elementos en posiciones intermedias.

Seleccione las 4 (cuatro) opciones correctas. Como profesional le consultan cuáles son las características que el nodo cabecera presenta. Usted, ¿qué responde?. Siempre contiene datos que se cuentan dentro de la lista. Puede tener un valor especial en su campo. Puede tener un indicador o bandera (flag). No se utiliza en un campo de la información. Es apuntado por el último nodo de la lista para cerrar el ciclo.

Las listas enlazadas circulares permiten extraer los datos desde el fondo de una pila. Falso. Verdadero.

El tiempo de ejecución para la operación de get (mostrar) de las API Java LinkedList (listas doblemente enlazadas) para un elemento que se encuentra cerca de la parte central de la lista es de: O(N²). O(N). O(log N). O(1).

En las listas enlazadas: Los elementos deben estar almacenados siempre en posiciones contiguas de memoria. Los elementos se ordenan automáticamente en memoria según su valor. Todos los nodos se almacenan en la misma dirección de memoria. Los elementos de una lista cuando son almacenados carecen de posiciones físicas adyacentes.

Indique el procedimiento para vaciar la pila con lista enlazada: ```java public void limpiarPila() { NodoPila t; while(!pilaVacia()) { t = cima; cima = cima.Siguiente; t.Siguiente = null; } }. ```java public void limpiarPila() { NodoPila t = cima; cima = null; }. ```java public void limpiarPila() { while(!pilaVacia()) { cima = null; } }. ```java public void limpiarPila() { cima = cima.Siguiente; }.

Es una desventaja de las listas enlazadas: El tiempo de acceso a elementos individuales. La flexibilidad para insertar elementos en cualquier posición. El uso dinámico de memoria. La facilidad para eliminar elementos sin reorganizar la estructura.

El campo de dirección de una trama: Contiene el dato que se va a transmitir. Sirve para identificar una de las terminales. Es un código de control de errores. Indica el tamaño total de la trama.

Teniendo el siguiente código, en donde tenemos un elemento ArrayList denominado a, indicar qué retorna a.get(i): for(int i = 0; i < a.size(); i++) { String x = a.get(i); System.out.println(x); }. El índice del elemento i. La cantidad total de elementos en la colección. El i-ésimo elemento de la colección. Un valor booleano que indica si el elemento existe.

Determine cuál es la afirmación correcta del método set() de la clase ArrayList: Retorna el tamaño actual de la colección. Elimina el objeto en la i-ésima posición. Agrega un nuevo objeto al final de la colección. Reemplaza el objeto en la i-ésima posición de la colección por otro que recibe como parámetro.

La implementación de ArrayList está basada en: Tablas hash para un acceso rápido por clave. Árboles binarios balanceados para ordenar los datos. El uso de un array que se irá redimensionando en la medida en que todas sus posiciones vayan siendo utilizadas. Listas enlazadas simples para gestionar los elementos.

Indicar los métodos definidos en la clase ArrayList: Seleccione las 4 (cuatro) opciones correctas: Set(). Contains(). Clear(). Sort(). Remove().

Indique cuáles de los siguientes son métodos definidos por la interface ListIterator: Seleccione las 4 (cuatro) opciones correctas: Previous. HasNext. Next. HasPrevious. Reset.

Al implementar una lista enlazada en Java, utilizando la clase (class) SinglyLinkedList, el método addLast(e) se utiliza para: Contar el número de elementos en la lista. Agregar un nuevo elemento al final de la lista. Eliminar el último elemento de la lista. Agregar un nuevo elemento al inicio de la lista.

Cuando se implementa la clase (class) SinglyLinkedList, si se llama al método last() en una lista que está vacía: Esta devuelve null. Lanza una excepción. Devuelve un nodo vacío. Retorna el primer elemento de la lista.

Al implementar una lista enlazada en Java, utilizando la clase (class) SinglyLinkedList, si se llama al método first() en una lista que está vacía, esta devuelve: Lanza una excepción. Null. Retorna el último elemento de la lista. Devuelve un nodo vacío.

Al implementar una lista enlazada en Java, utilizando la clase (class) SinglyLinkedList, el método last() se utiliza para: Devolver (pero no eliminar) el primer elemento de la lista. Eliminar el último elemento de la lista. Devolver (pero no eliminar) el último elemento de la lista. Insertar un nuevo elemento al final de la lista.

Cuando se implementa la clase (class) CircularlyLinkedList, si se llama al método rotate() en una lista que está vacía, ¿qué genera?. Elimina el único elemento de la lista. No realiza ninguna acción. Lanza una excepción por lista vacía. Mueve el primer elemento al final de la lista.

¿Qué nombre recibe el nodo centinela que se inserta al inicio de la lista cuando se implementan listas doblemente enlazadas?. Sentinel. Tail. Header. Footer.

Cuando se implementa la clase (class) DoublyLinkedList, ¿para qué se utiliza el método addFirst()?. Contar la cantidad de elementos en la lista. Agregar un nuevo elemento al principio de la lista. Eliminar el primer elemento de la lista. Agregar un nuevo elemento al final de la lista.

Si tenemos el siguiente arreglo {4, 3, 2, 1, 0}, ¿cómo quedará luego de la primera iteración del método BubbleSort?. {3, 2, 1, 0, 4}. {4, 2, 3, 1, 0}. {0, 1, 2, 3, 4}. {4, 3, 2, 1, 0}.

¿Cómo queda el arreglo {3, 4, 1, 0, 2} luego de dos iteraciones usando el método SelectionSort?. {1, 0, 3, 4, 2}. {0, 1, 4, 3, 2}. {3, 4, 1, 0, 2}. {0, 1, 2, 3, 4}.

El siguiente algoritmo se utiliza para ordenar de forma ascendente los elementos de una matriz dividiéndola en dos sublistas SL1 y SL2 con (n / 2) elementos cada. Paso 2: Luego se ordenan independientemente. Paso 3: Combinar SL1 y SL2 en un grupo (matriz) ordenado único. El algoritmo anterior es: InsertionSort. BubbleSort. QuickSort. MergeSort.

Seleccione las 4 (cuatro) opciones correctas. La estrategia para implementar el algoritmo (presumiblemente BubbleSort) incluye los siguientes pasos, ¿cuáles son?. Escanear la matriz, buscando pares de elementos consecutivos que estén ordenados incorrectamente. Encontrar una j, tal que matriz[j + 1] < matriz[j]. Ordenar la matriz sin hacer ningún intercambio. Deténgase cuando un escaneo a través de toda la matriz no encuentre un par ordenado. Siempre que se encuentre un par de este tipo, cámbielos y continúe buscando hasta que finalice.

La ordenacion o clasificacion es un proceso de organizar datos en algun orden o secuencia especifica, tal como creciente o decreciente para datos numericos o alfabeticamente para caracteres. Verdadero. Falso.

Al ordenamiento de archivos tambien se le conoce como ordenamiento externo. Falso. Verdadero.

¿Cuál es la complejidad del método de ordenación por inserción, si la entrada no se encuentra previamente ordenada?. O(N²). O(N). O(N log N). O(log N).

¿Cuál es el tiempo de ejecución del caso promedio en el método Insertionsort? Seleccione la respuesta correcta. O(N). O(N²). O(log N). O(N log N).

¿Cuál es el tiempo de ejecución del algoritmo de ordenamiento por inserción si el arreglo de entrada esta ordenado totalmente a la inversa de como se lo desea en la salida?. O(N log N). O(log N). O(N). O(N².

Si pensamos en un array inicialmente vacío y luego, cualquier elemento que le agreguemos (llamémosle e1) ocupará la primera posición y el array estará ordenado. Entonces si agregamos otro elemento (digamos e2), este deberá ubicarse antes o después de e1 según se verifique o no que e2 < e1. ¿De qué algoritmo de ordenación estamos hablando?. InsertionSort. BubbleSort. MergeSort. QuickSort.

La ordenación por inserción es apropiada para. Grandes volúmenes de datos desordenados. Tamaños de entradas pequeños. Listas enlazadas únicamente. Datos que requieren ordenamiento paralelo.

La ordenación por inserción es apropiada para: Ordenar entradas que ya están parcialmente ordenadas. Ordenar datos en tiempo constante sin importar el tamaño. Ordenar grandes volúmenes de datos con alta eficiencia. Ordenar entradas que poseen muchos elementos desordenados.

El algoritmo de clasificación por inserción consiste en: Dividir el vector en dos partes iguales y ordenarlas por separado. Buscar el elemento más grande y moverlo al principio de la lista. Insertar un elemento en el vector, en una parte ya ordenada de este y comenzar de nuevo con los elementos restantes. Este método se basa en comparaciones y métodos sucesivos. Repetir intercambios aleatorios hasta que el vector esté ordenado.

Suponiendo que una lista esta almacenada como un array, donde los indices de la lista son bajo = 0 y alto = n-1 donde n es el numero de elementos del array, los pasos a seguir serian: 1. Calcular el indice del punto central del array: central (bajo + alto)/2 (division entera) 2. Comparar el valor de este elemento central con el ultimo elemento: Si a[central] < clave, la nueva sublista de busqueda tiene por valores extremos de su rango bajo = central+1. alto. Si clave < a[central], la nueva sublista de busqueda tiene por valores extremos de su rango bajo. central-1. Falso. Verdadero.

El siguiente algoritmo se utiliza para ordenar de forma ascendente los elementos de una lista de valores: Paso 1: Leer el número total de elementos (n). Paso 2: Almacenar los elementos en una matriz. Paso 3: Establecer el elemento inicial i = 0. Paso 4: Comparar los elementos adyacentes, si el primer elemento es más pequeño que el segundo elemento entonces no hay intercambio de este elemento. De lo contrario, intercambie la posición del elemento. El algoritmo de ordenamiento que se ajusta a lo anterior es: Insercion. Burbuja. Quicksort. Mergesort.

El algoritmo de ordenación que es muy similar a la ordenación por selección, pero difiere fundamentalmente en que [...] el ordenamiento hecho por este algoritmo escanea hacia atrás desde la clave actual, mientras que el ordenamiento por selección [...] busca hacia adelante. En este caso se habla del algoritmo de ordenamiento: Inserción. Burbuja. Heapsort. ShellSort.

Suponga que usted aplica el algoritmo de ordenamiento por inserción al siguiente array de números enteros [30,15,2,21,44,8]: La segunda iteración del algoritmo deja el array de la siguiente manera: [15,2,30,21,44,8]. [2,15,30,21,44,8]. [2,8,15,21,30,44]. [15,30,2,21,44,8].

Suponga que usted aplica el algoritmo de ordenamiento por inserción al siguiente array de números enteros [54,26,93,17,77,31,44,55,20]. Después de la quinta iteración, los datos quedan ordenados de la siguiente forma: [26,17,31,54,77,93,44,55,20]. [17,26,31,44,54,77,93,20,55]. [17,26,31,54,77,93,44,55,20]. [17,26,54,31,77,93,44,55,20].

El método Shellsort es apropiado para: Reemplazar métodos de ordenamiento como Quick Sort en listas enormes. Datos con solo dos elementos. Ordenar listas que ya están completamente ordenadas. Tamaños de entradas moderadamente grandes.

¿Cómo se denomina la secuencia h1, h2, etc. en el método Shellsort?. Secuencia de pivotes. Secuencia de intercambio. Secuencia de incrementos. Secuencia de burbujas.

¿El algoritmo Shellsort es subcuadratíco?. Verdadero. Falso.

¿Qué algoritmo consiste en dividir al array en varios subarrays más pequeños formados por aquellos elementos del array original que se encuentran separados entre sí por una determinada “distancia de paso”?. Inserción. Shellsort. Burbuja. Selección.

¿Cuáles de las siguientes son las características del algoritmo Shellsort? Seleccione las 4 (cuatro) opciones correctas. Es el algoritmo más adecuado para ordenar entradas de datos moderadamente grandes (decenas de millares de elementos). La velocidad del algoritmo dependerá de la secuencia de incrementos. Utiliza siempre una estructura de pila para ordenar los datos. Su implementación (código) es relativamente sencilla. Intercambia elementos distantes siguiendo una secuencia de incrementos.

¿Cuál de los siguientes algoritmos de ordenación es una mejora del algoritmo por inserción?. Shellsort. Selección. Burbuja. Heapsort.

El algoritmo de clasificación por selección se basa en: Comparar elementos adyacentes e intercambiarlos si están desordenados. Insertar cada elemento en su posición correcta desde el principio. Buscar el elemento menor del vector y colocarlo en la primera posición. Luego se busca el segundo elemento más pequeño y se coloca en la segunda posición. Dividir el vector en dos partes y ordenar cada una de ellas recursivamente.

El tiempo de ejecución en el escenario promedio para la aplicación del algoritmo de ordenación del tipo ShellSort es de: O(n!). O(n ˄ 2). O(log n). O(n ˄ 1.25).

El algoritmo de ordenamiento que mejora el rendimiento del algoritmo por inserción, comparando elementos separados por un espacio de varias posiciones se conoce como: QuickSort. Burbuja. ShellSort. MergeSort.

Para aplicar la búsqueda secuencial o binaria siempre se debe tener en cuenta que: La búsqueda secuencial solo funciona si el vector está ordenado. La búsqueda secuencial se aplica para localizar una clave en un vector no ordenado. Ambas búsquedas solo funcionan con listas de caracteres. La búsqueda binaria se aplica a vectores no ordenados.

El siguiente pseudocódigo muestra la estructura de un algoritmo de ordenación del tipo: Desde I ← 2 hasta N hacer variableaux[I] ← X[I] K ← I − 1 bandera ← Falso Mientras no (bandera) y (k ≥ 1) hacer  Si variableaux[I] < X[K] entonces   X[K + 1] ← X[K]   K ← K − 1  Si_no   bandera ← Verdadero  FinSi FinMientras X[K + 1] ← variableaux[I] [...] corresponde a: QuickSort. Selección. Burbuja. Inserción.

Seleccione las 4 (cuatro) opciones correctas. ¿Cuáles son las características del algoritmo de ordenación Shellsort?. Siempre requiere espacio adicional para almacenar elementos temporales. Su velocidad depende de la secuencia de valores con los cuales trabaja, ordenándolos. Es adecuado para ordenar listas de tamaño moderado. Primero mueve los valores usando tamaños de espacio gigantes, de manera que un valor pequeño se moverá bastantes posiciones hacia su posición final, con solo unas pocas comparaciones e intercambios. Su velocidad es aceptable y su codificación es bastante sencilla.

Seleccione las 4 (cuatro) opciones correctas. Son características del algoritmo de ordenamiento Shellsort: Puede servir como un sub-algoritmo de ordenamiento introspectivo, para ordenar subarreglos. Realiza más operaciones y tiene una mayor tasa de pérdida de cache que Quicksort. Es una optimización del ordenamiento por inserción que permite el intercambio de elementos distantes. Siempre usa recursividad para ordenar los datos. Se puede implementar usando poco código y no usa la pila de llamadas.

Suponga que usted aplica el algoritmo de ordenamiento Shellsort al siguiente array de números enteros [50,26,7,9,15,27]. La primera iteración del algoritmo, después de dividir todo el array utilizando el 1er salto como (n/2), siendo n el número de elementos del array, queda de la siguiente manera: [7,9,15,26,27,50]. [9,15,7,50,26,27]. [50,26,9,7,15,27]. [26,50,7,9,15,27].

Seleccione las 2 (dos) opciones correctas. ¿Cuáles de las siguientes opciones se corresponden con algoritmos de ordenamiento inestables?. Quicksort. ShellSort. Inserción. Burbuja.

Suponga que usted aplica el algoritmo de ordenamiento MergeSort al siguiente array de números enteros [15,3,8,-4,6,8,2]. La primera iteración del algoritmo, después de dividir todo el array y comenzar a ordenarlo, queda de la siguiente manera: [3,15,8,-4,6,8,2]. [15,3,8,-4,6,8,2]. [3,8,15,-4,6,8,2]. [3,15,-4,8,6,8,2].

Suponga que usted aplica el algoritmo de ordenamiento Shellsort al siguiente array de números enteros [...,30,103,21,95,44,52,88,29]. Después de la quinta iteración, los datos quedan ordenados de la siguiente forma: [21,29,30,44,52,63,88,95,103]. [30,44,52,63,95,103,21,88,29]. [30,21,44,52,63,95,103,29,88]. [103,95,88,63,52,44,30,29,21].

Si se tiene el arreglo A = {1, 13, 26, 24} y el arreglo B = {2, 15, 27, 38} como entradas al algoritmo básico Mergesort, y ya ocurrieron dos pasos básicos de Mergesort, quedando el arreglo de salida C = {1, 2}, contra qué valor de A se comparó el 2 (que pertenece a B) para que se ingresara como segundo elemento de C?. 1. 26. 13. 24.

Las siguientes etapas: 1. Si el número de elementos a ordenar es 0 o 1 volver. 2. Ordenar recursivamente y por separado la primera y segunda mitad. 3. Mezclar las dos mitades ordenadas para obtener un total ordenado. ¿A qué método de ordenamiento se corresponden?. Quicksort. Burbuja. Inserción. Mergesort.

Dado el siguiente arreglo [14, 7, 3, 12, 9, 11, 6, 2], ¿cuál es el valor del punto medio, denominado usualmente como “q”, y que debe ser calculado durante el paso divide en el algoritmo Mergesort?. 6. 4. 3. 7.

¿Qué ocurre en la etapa denominada “Vence” durante el algoritmo Mergesort? Seleccione la respuesta correcta: Se ordena de manera recursiva los subarreglos en cada uno de los dos subproblemas creados por el paso de dividir. Se mezcla la lista completa sin dividirla previamente. Se selecciona el pivote para dividir el arreglo. Se intercambian elementos adyacentes para ordenar.

¿Cuál es el tiempo de ejecución del peor caso en el método Mergesort?. O(N). O(lg N). O(N²). O(N * lg N).

El código correcto para implementar el algoritmo de ordenamiento por insercion en el lenguaje JAVA es el siguiente: Full static void ordInsercion (full [] a){full i, j;full aux;for (i = 1, i < a.length; i-+){/* indice j es para explorar la sublista a[i-1].a[0] buscando laposicion correcta del elemento destino*/j = i;aux = a[i];/ / se localiza el punto de insercion explorando hacia abajowhile (j > 0 && aux < a[j+1]{// desplazar elementos hacia arriba para hacer espacioa[j] = a[j-1];j--;} = full;}}”. Falso. Verdadero.

El siguiente pseudocodigo muestra la estructura del algoritmo de ordenacion del tipo burbuja: desde I ←--- 1 hasta N Hacer Si [...] [I+1] > elemento [I] hacer variableaux ←--- elemento[I] elemento[I] ←--- elemento[I+1]elemento[I+1] <--- variableaux FinSi [...] indique cual es el error en la codificacion: Elemento [I+1] > elemento [I]. Elemento [I+1] < elemento [I]. Elemento [I+1] >= elemento [I]. Elemento [I] == elemento [I+1].

Suponga que usted aplica el algoritmo de ordenamiento QuickSort al siguiente array de números enteros [12,48,9,10,16,20]. La primera iteración del algoritmo deja el array de la siguiente manera: [10,9,12,16,20,48]. [48,20,16,12,10,9]. [9,10,12,16,20,48]. [12,10,9,48,16,20].

¿Cómo se denomina, en el algoritmo Quicksort, al procedimiento de reacomodar los elementos en un array[p..r] de modo que todos los elementos menores o iguales que el pivote estén a su izquierda y los demás a la derecha?. Intercambio de pivote. Ordenamiento por selección. Hacer una partición. Mezcla.

¿Cuáles de las siguientes son las características del algoritmo Quicksort? Seleccione las 4 (cuatro) opciones correctas. Requiere espacio adicional lineal para funcionar. Es fruto de la técnica de resolución de algoritmos divide y vencerás. Posee un ciclo interno muy ajustado (pocas operaciones). Para el peor caso tiene un tiempo O(N²). Su tiempo de ejecución promedio es O(N * Log(N)).

¿Cuál es el tiempo de ejecución del caso promedio en el método Quicksort?. O(lg N). O(N²). O(N * lg N). O(N).

¿Cuál es el tiempo de ejecución del mejor caso en el mé todo Quicksort?. O(N * lg N). O(N²). O(N). O(lg N).

¿Cuál es el tiempo de ejecución del peor caso en el método Quicksort?. O(N). O(lg N). O(N²). O(N * lg N).

¿Mediante qué algoritmo se obtiene finalmente un arreglo ordenado uniendo arrMenores + pivote + arrMayores (donde arrMenores y arrMayores son arreglos auxiliares)?. Inserción. Burbuja. Quicksort. Mergesort.

Si tenemos el arreglo arr = {4, 7, 2, 5, 1, 9, 3, 8} y tomamos como pivote al valor 4, ¿qué valores irán en el arreglo auxiliar arrMenores luego de una primera pasada del método Quicksort con implementación usando arreglos auxiliares?. {7, 5, 9, 8}. {2, 1, 3}. {4, 7, 5}. {1, 2, 3, 4}.

Si tenemos el arreglo arr = {4,7,2,5,1,9,3,8} y tomamos como pivote al valor 4, ¿qué valores irán en el arreglo auxiliar arrMayores luego de una primera pasada del método Quicksort con implementación usando arreglos auxiliares?. {1, 2, 3, 4}. {4, 7, 5}. {2, 1, 3}. {7, 5, 9, 8}.

Dado el siguiente arreglo [7,1,3,9,12,6,4,2,8], ¿qué valor toma en primera instancia el pivote en el método Quicksort si se usa la técnica de partición central?. 7. 12. 6. 9.

Dado el siguiente arreglo [8,1,4,9,6,3,5,2,7,0], ¿qué valor toma en primera instancia el pivote en el método QuickSort si se usa la técnica de partición basada en la mediana de tres?. 6. 5. 8. 4.

Quicksort es un algoritmo relativamente simple y extremadamente eficiente cuya lógica no es recursiva. Falso. Verdadero.

¿Cuáles de estos algoritmos poseen un tiempo de ejecución O(N²) para el peor de los casos? Seleccione las 3 (tres) opciones correctas: Quicksort. Mergesort. Insertionsort. Shellsort.

Suponga que usted aplica el algoritmo de ordenamiento QuickSort al siguiente array de números enteros [10,40,7,9,15,27]. La primera iteración del algoritmo deja el array de la siguiente manera: [10,9,7,40,15,27]. [7,9,10,15,27,40]. [12,9,7,40,15,27]. [40,27,15,12,10,9].

El algoritmo de ordenación eficiente, de uso general y basado en la comparación, cuya mayoría de implementaciones producen una clasificación estable (manteniendo el orden de los elementos iguales), que fue inventado por John von Neumann en 1945, se conoce como: Quicksort. Shellsort. Heapsort. Mergesort.

El siguiente algoritmo se utiliza para ordenar de forma ascendente los elementos de una lista de valores. Paso 1: Leer el numero total de datos o elementos (n). Paso 2: almacena los elementos en una matriz. Paso 3: Coloque la posicion inicial del elemento i=1. Paso 4: Compare el elemento (que queremos ordenar) con el siguiente elemento de la matriz. if(key)<=matriz, Then se bajar el siguiente elemento de la matriz en uno. Else Inserte la clave en una matriz. Paso 5: Repita el paso 4 para todos los n elementos. Paso 6: Incremente el valor de i en 1 y repita los pasos 4, 5 para i<n. Paso 7: Imprima la lista ordenada de elementos. Paso8:Detener. El algoritmo de ordenamiento que se ajusta a lo anterior es: Burbuja. Inserción. Shellsort. Selección.

Denunciar Test
Chistes IA