Materias · 🏛️ Universidad y trabajo

Estructuras de datos

Ejercicios resueltos de Estructuras de datos paso a paso, con el error que más se comete en cada uno: Pilas, Tablas hash y más. Gratis y en español.

Preguntarle al tutor de Estructuras de datos

Sin instalar nada. Puedes probar antes de crear cuenta.

Ejercicios resueltos de Estructuras de datos

Resueltos paso a paso, como te los explicaría el tutor, y con el error que más se comete.

Pilas

Un editor de código subraya en rojo los paréntesis mal cerrados. ¿Está balanceada la expresión ( a + [ b × ( c − d ) ] )? ¿Y la expresión ( a + [ b × c ) ]? Resuélvelo con una pila.

Cómo se resuelve

  1. 1Se usa una pila porque el último símbolo que se abre tiene que ser el primero en cerrarse. Con una cola pasaría lo contrario (el primero que entra es el primero que sale) y daría el orden equivocado.
  2. 2De la primera expresión solo interesan los símbolos de agrupación, en orden: ( [ ( ) ] ). Las letras y los operadores no se miran.
  3. 3Cada apertura se apila. Llega ( y la pila, de abajo hacia arriba, es: ( — llega [ y la pila es: ( [ — llega ( y la pila es: ( [ (. La cima es siempre lo último que se apiló, o sea lo de más a la derecha.
  4. 4Llega el primer ): se saca la cima, que es (, y coinciden. La pila es ahora: ( [. Llega ]: la cima es [ y coinciden, la pila es: (. Llega el último ): la cima es ( y coinciden, la pila queda vacía.
  5. 5La cadena terminó y la pila quedó vacía: las dos condiciones se cumplen, así que está balanceada.
  6. 6Segunda expresión, símbolos en orden: ( [ ) ]. Se apila ( y luego [. Llega ) y la cima es [: no coinciden, y ahí mismo se declara el error, sin seguir leyendo.

Respuesta: La primera está balanceada. La segunda no: al llegar al ) la cima de la pila es un [, que no le corresponde.

El error de siempre: Contar cuántas aperturas y cuántos cierres hay y, si el número coincide, dar la expresión por buena. ( [ ) ] tiene dos de cada símbolo y está mal: lo que importa es el orden, y por eso hace falta la pila. El otro descuido es olvidar la comprobación del final: si la cadena se acaba y la pila NO quedó vacía, como en ( ( ), también está mal aunque nunca haya fallado una pareja.

Tablas hash

Guardas los códigos de estudiante 45, 12, 19 y 26 en una tabla hash de 7 casillas, con h(k) = k mod 7 y resolución de colisiones por sondeo lineal. ¿En qué casilla queda cada uno?

Cómo se resuelve

  1. 1La tabla tiene las casillas 0 a 6. La función h(k) = k mod 7 dice a cuál va cada clave; el sondeo lineal dice qué hacer si esa casilla ya está ocupada: avanzar de a una y dar la vuelta al llegar al final.
  2. 245 mod 7: 7 × 6 = 42 y sobran 3. La casilla 3 está vacía, así que el 45 se queda ahí.
  3. 312 mod 7: 7 × 1 = 7 y sobran 5. La casilla 5 está vacía: el 12 se queda ahí.
  4. 419 mod 7: 7 × 2 = 14 y sobran 5. La casilla 5 la ocupa el 12, así que hay colisión. Se avanza a la 6, que está vacía, y el 19 queda en la 6.
  5. 526 mod 7: 7 × 3 = 21 y sobran 5. La 5 está ocupada (12), la 6 está ocupada (19) y como la 6 es la última se da la vuelta a la 0, que está vacía. El 26 queda en la 0.
  6. 6La tabla final es: casilla 0 → 26, casilla 3 → 45, casilla 5 → 12, casilla 6 → 19. Las casillas 1, 2 y 4 quedan vacías.

Respuesta: 45 en la casilla 3, 12 en la 5, 19 en la 6 y 26 en la 0.

El error de siempre: Creer que la colisión es un fallo y que la clave se pierde. La colisión es normal y el sondeo la resuelve; el problema aparece al buscar y al borrar. Para encontrar el 26 hay que repetir exactamente el mismo recorrido (5, 6, 0) y no rendirse al ver otra clave en la 5. Y si se borra el 12 dejando la casilla 5 simplemente vacía, la búsqueda del 19 y del 26 se corta ahí y ya no los encuentra: por eso la casilla se marca como «borrada», no como «vacía».

¿Y si tu ejercicio no es ninguno de estos?

No hace falta buscar el ejercicio exacto en internet. Trae el tuyo, o pide los que te falten.

Todo esto es gratis y sin instalar nada. Puedes probar antes de crear cuenta.

Lo que cubre

  • Pilas
  • Tablas hash

Preguntas que le puedes hacer

  • PilasExplícame «Pilas» con un ejemplo práctico y dime en qué suele equivocarse la gente.
  • Tablas hashExplícame «Tablas hash» con un ejemplo práctico y dime en qué suele equivocarse la gente.

Cómo enseña este tutor

Es riguroso y completo: justifica cada paso y nombra el teorema, la norma o la buena práctica que está aplicando, para que puedas citarla en tu trabajo o en el parcial.

  • · Te muestra el camino completo, no solo el resultado.
  • · Si algo no te cuadra, te lo explica otra vez de otra manera.
  • · Con una foto de tu cuaderno te dice dónde está el error.
  • · Te arma quizzes de lo que acabas de ver para saber si de verdad quedó.

Otras materias de Universidad y trabajo