¿Cuántas palabras de cinco letras hay?

En esta página, verás cuánto tiempo se tarda en ejecutar un algoritmo de  búsqueda lineal.

En la Unidad 2 Laboratorio 3 Página 6: Resolver un crucigrama, construiste un bloque ¿la palabra () tiene () letras? y lo utilizaste con mantener para encontrar palabras de una longitud específica en una lista de palabras. Pero, ¿cuánto tiempo toma un proceso como este?

  1. Haz clic para cargar un proyecto nuevo. Entonces guárdalo.
    Este proyecto provee las variables 1,000 palabras, 10,000 palabras y 100,000 palabras (cada una de ellas con una lista de palabras) y una copia del predicado ¿la palabra () tiene () letras?
  2. ¿Cuántas palabras de cinco letras hay en una lista de 10,000 palabras?
  3. Utiliza el bloque tiempo de ejecución computacional de (ranura de entrada) proporcionado en este proyecto para determinar cuánto tiempo le lleva a la computadora responder a esa pregunta.

El bloque tiempo de ejecución computacional toma cualquier reportero (con sus entradas completas), computa el resultado, pero lo ignora, y en su lugar reporta el tiempo que tomó hacer el cálculo (en milisegundos). Tiempo de ejecución computacional de (números de (1) a (1000)) reporta 27

En este ejemplo, tomó 27 milisegundos calcular la lista de números enteros del 1 al 1000. (El reporte que verás dependerá de la velocidad de tu computadora y de los programas que se ejecuten en él.)

Puedes ver dentro del bloque tiempo de ejecución computacional para ver cómo funciona.

  1. Haz clic en el bloque tiempo de ejecución computacional que utilizaste en la pregunta anterior tres veces más y nota el rango de respuestas. No son exactamente iguales debido a otras cosas que el ordenador está haciendo al mismo tiempo, por lo que siempre debes tomar cualquier resultado que te dé como  aproximado.
  2. Habla con tu compañero¿Cuánto tiempo crees que se tardará en contar palabras de cinco letras si la lista tuviera 100,000 palabras?
  3. Utiliza tiempo de ejecución computacional para comprobarlo usando la lista de 100,000 palabras.

La búsqueda de todas las palabras de cinco letras en una lista de palabras específica es una instancia de un problema más general: la búsqueda de todas las palabras de una longitud determinada.

: Problema vs. instancia de un problema
AAP-4.A.1
  1. Supongamos que en lugar de eso contamos las palabras de siete letras. Esto tomará: Escribe tus ideas
    1. Más tiempo ya que siete letras son más que cinco.
    2. Menos tiempo porque hay menos palabras de siete letras que de cinco.
    3. El mismo tiempo porque no es la longitud de la palabra lo que importa; es el tamaño del diccionario.
  2. Experimenta para averiguarlo con seguridad.

La única manera de responder a este problema es revisando cada una de las palabras del diccionario. Por lo tanto, si hay  diez veces más palabras en el diccionario, tomará diez veces más tiempo revisarlas todas.

: Tiempo lineal vs. búsqueda lineal