Cómo crear un algoritmo

Como sabes, un algoritmo son los pasos lógicos que sigues para resolver un problema, por lo que “crear un algoritmo” es un problema en sí mismo, ¿no? entonces también necesita un algoritmo para ser resuelto.

Mientras desee crear un algoritmo, supongo que se enfrenta a un problema X y desea crear un algoritmo para resolverlo, así que aquí está mi algoritmo (Realmente hice estos pasos mientras estaba investigando):

  1. Fase de definición del problema: Conozca todas las fases del problema, en la medida de lo posible, para hacer esto, debe buscar qué es X, aprender sobre él, aprender más y más sobre su enemigo (el problema).
  2. Última fase de soluciones: en la última fase buscó “qué es X”, ahora buscaremos “cuáles son las posibles soluciones para X”, buscaremos eso para saber qué hicieron las grandes personas hasta ahora, busque mucho, lea documentos, busque conferencias, recolecte tantas soluciones y las soluciones más nuevas como pueda, estudie, comparará, comprenderá.
  3. La fase de horquilla: ahora, habías aprendido sobre el problema y sus soluciones más recientes, pregúntate a ti mismo, ¿crees que “necesito” o “puedo” mejorar? Si puede estar satisfecho con una de las soluciones desarrolladas más recientemente, entonces hemos terminado, si no continúa.
  4. Fase de Arquímedes Eureka : esta es la última y más larga fase, aquí, debe comenzar a pensar en una solución que sea más rápida o mejor que las otras, puede usar una de ellas también y completarla, o puede usarla como un referencia, pero esta fase realmente no tiene una forma típica de atravesarla, como sabes, Arquímedes había descubierto el principio flotante por casualidad, la misma cantidad de inventos y descubrimientos, solo tienes a ti mismo, tu mente, la naturaleza y la suerte de inventar el algoritmo que es la última fase en el algoritmo de creación de su algoritmo.

Nota: estos nombres de fases que acababa de crear ahora, no son conceptos mundiales o globales, solo trato de BESAR (mantener las cosas simples estúpidas).

Un algoritmo es solo una secuencia de pasos que sigue para resolver un problema. Entonces, si desea crear un algoritmo, supongo que desea crear uno nuevo, debe encontrar una manera de abordar un problema de manera única.

El primer paso sería identificar el problema que desea resolver. Lo siguiente sería analizar todos los métodos existentes que existen para resolver este problema en particular. Después de eso, debe idear un enfoque que sea diferente de todos los demás enfoques existentes y validar / razonar por qué su enfoque sería mejor. Es muy probable que alguien ya haya pensado en su enfoque y haya decidido que no era efectivo. En caso de que se te ocurriera algo en lo que nadie más había pensado, felicidades, has creado un nuevo algoritmo.

Si está en el campo de las finanzas, no se lo digas a nadie y gana mucho dinero.

En estos días, la respuesta suele ser “escribir un programa de computadora”, pero mucho depende del uso previsto de su algoritmo.

¿Es “solo” para calcular algo, incluso algo complicado, o desea que el algoritmo sea útil en otros contextos? Por ejemplo, puedo darle una tabla de búsqueda para convertir grados Farenheit a grados Celsius, o puedo escribir un programa que tome un número y lo convierta a otro, o puedo darle una fórmula. Cada uno de estos tiene usos en diferentes circunstancias, desde hacer un termómetro hasta saber a qué temperatura los valores numéricos son iguales (-40 como sucede).

(informalmente, la creación de un algoritmo tiene varias similitudes profundas con la creación de una prueba matemática).

Primero, necesita conocer muchos algoritmos existentes . Entonces, lea Introducción a los algoritmos primero.

Luego, escribe en pseudocódigo su algoritmo. Lo implementa en algún lenguaje de programación como algún código fuente. Usted prueba ese programa.

Probablemente también haga una prueba (matemática) de que su algoritmo es correcto y le dará y probará algunas propiedades (especialmente su complejidad temporal).

Más tarde, puede proponer su algoritmo en papel a alguna publicación o publicación de informática de buena reputación.

Lo primero que debe hacer antes de crear un algoritmo es verificar si ya existe un algoritmo que está tratando de hacer. Un algoritmo es una secuencia de eventos y procesos que resuelve un problema recurrente. Solo con esa definición puede suponer que necesita saber qué problema recurrente está tratando de resolver.

Un ejemplo de un problema recurrente es la ordenación. Todos sabemos que no es realmente difícil clasificar objetos, pero ¿qué sucede cuando no tienes el lujo del tiempo o se trata de millones de números? Ahí es donde entra un algoritmo.

Así que piense en un problema recurrente y comience desde allí.

Paso uno: identifica el problema que deseas resolver.

Paso dos: descubra los pasos que se deben seguir para resolver este problema y el mejor orden para que entren.

Paso tres: prueba tu algoritmo.

Paso opcional (se puede insertar antes o después del paso tres): automatice su algoritmo para que una computadora lo realice por usted.

Tan fácil como eso. Acabo de crear un algoritmo mientras escribía esta respuesta.

More Interesting

¿Por qué recibo un error SIGSEGV en el tamiz segmentado de Eratóstenes (PRIME1)?

Si tengo una matriz compuesta de cadenas de dígitos y guiones, ¿cómo puedo usar Javascript para agregar la suma de cada dígito mientras omito los guiones?

Cómo verificar si la suma de los números de la primera mitad y la segunda mitad de una matriz es la misma

¿Por qué se usa la compresión de backend?

¿Qué se entiende por estructura de datos?

¿Cuál es la clave para diferenciar y comparar dos algoritmos de aprendizaje automático?

¿Es mejor representar aristas en un gráfico que sale de un vértice como miembros de una matriz dinámica o una lista vinculada?

¿Existen constructores de algoritmos comerciales Plug and Play que no requieren ninguna habilidad de codificación?

¿Es adecuado CLRS para que un principiante comience su viaje de algoritmos y estructuras de datos? En caso afirmativo, ¿cómo se debe proceder?

¿Cuál es un buen algoritmo de hash para identificar de forma exclusiva una URL en una base de datos?

Cómo aprender a implementar algoritmos de aprendizaje automático

¿Por qué y cómo son importantes los algoritmos en nuestra vida diaria?

Tengo conocimiento de estructuras de datos y algoritmos, pero me falta programación competitiva, ¿cómo debo mejorar? ¿Puedo sobrevivir a la competencia de hoy?

¿Cuáles son los algoritmos para determinar si un punto está dentro de una forma cerrada arbitraria o no?

Cómo resolver el problema ALCATRAZ3 (The honeycomb maze) en SPOJ