¿Qué tan rápido se puede crear un algoritmo?

Divulgación completa: solo soy un estudiante de secundaria, pero he estado interesado en la informática durante muchos años y tengo un conocimiento bastante amplio de una amplia variedad de temas. Programa en variantes C, Java y Python con algo de experiencia en desarrollo web.

Esta pregunta es muy vaga y tiene muchos factores que pueden jugar en ella. Primero, definiré un algoritmo como una solución paso a paso a un problema. Si desea hacer un sándwich, debe dividir el proceso en pasos tan fundamentales que nadie pueda estropearlo (por ejemplo, abra la bolsa de pan, tome dos hojas de pan, retire una pieza de la otra, etc. )

Tipo de algoritmo: hay muchos tipos de algoritmos necesarios para infinitos problemas. Probablemente el tipo de algoritmo más primitivo es la lógica booleana . Ingrese datos y obtenga una respuesta de sí o no. Estos pueden ser extremadamente simples o muy complejos, pero no importa cuán complejo pueda escribirse técnicamente en una sola declaración. Los algoritmos de clasificación son otro algoritmo elemental que se enseña en la educación temprana de la programación. Se ingresa una lista de algún tipo y la salida es una lista ordenada de algún tipo. Algunos ejemplos simples incluyen orden alfabético o numérico. Existen algoritmos comúnmente aceptados y utilizados para esto, como la búsqueda binaria, y la mayoría de los casos se pueden completar con facilidad en minutos. En el extremo opuesto del espectro tiene algoritmos de aprendizaje automático que pueden volverse extremadamente complejos debido al uso de cálculo y funciones matemáticas. Esto puede llevar horas o días si se hace a mano, pero hay API hechas para ayudar en este proceso.

Cuánta experiencia: si acaba de comenzar, la comprensión e implementación de un algoritmo depende del conocimiento general, pero a medida que aprende más y más, comienza a aprender patrones para ayudarlo en un proceso más rápido o incluso aprende el código exacto de ciertos algoritmos (ej. El tipo de búsqueda binaria mencionado anteriormente).

Otros factores: el tiempo que lleva desarrollar un algoritmo se basa en más factores, como la plataforma para la que se está desarrollando. Si está escribiendo un script en Python, sería mucho más simple que si estuviera utilizando una computadora de ADN experimental, simplemente por la cantidad de detalles que tiene que describir. En los idiomas de nivel superior, podría decir num = 4 para establecer la variable num en un valor de 4. En el otro extremo del espectro, tendría que encontrar espacio en la memoria, asignar ese espacio, escribir el valor 4 en ese espacio. etc.

En resumen, esta pregunta es extremadamente difícil de responder en un valor numérico específico. Si tiene un algoritmo específico en mente, puede comentarlo y le haré saber lo mejor que pueda cuánto tiempo tardaría en desarrollarse.

Todos los ejercicios que hacemos en Computer Science AP este año siguen el mismo patrón. Un método, imprime los parámetros e imprime lo que devuelva el método, 4 veces diferentes.

Me aburrí de codificar lo mismo una y otra vez, así que codifiqué algo para hacerlo todo por mí. Todo lo que tengo que hacer es insertar el método, los parámetros específicos, y hace el resto.

Entonces … supongo que se podría decir que la computadora está creando el algoritmo. ¡Todo esto sucede en una fracción de segundo, por lo tanto, los algoritmos se pueden crear en fracciones de segundo!

Suponiendo que se refiere a un algoritmo y no a un programa, puede crear uno trivial en no más tiempo de lo que lleva escribirlo. Por ejemplo, aquí hay uno que acaba de aparecer en mi cabeza:

// Algoritmo para la máquina de votación manipulada 2016
trumpSum = 0
hillSum = 0

por cada voto
si vota por Trump entonces trumpSum + = 1.1
más
si vota por Hillary entonces hillSum + = 0.9
de lo contrario, imprima “Error: voto no válido / ilegal”

imprimir “Votos para Trump:” + celda (trumpSum)
imprimir “Votos para Hillary:” + piso (hillSum)