¿Qué es el algoritmo y cómo usarlo en la programación?

En matemáticas e informática, un algoritmo es un método eficaz expresado como una lista finita de instrucciones bien definidas para calcular una función. Los algoritmos se utilizan para el cálculo, el procesamiento de datos y el razonamiento automatizado.

Wikipedia: http://en.wikipedia.org/wiki/Alg…

Un algoritmo puede ser casi cualquier cosa. Podría escribir un algoritmo que clasifique los títulos de los libros por el nombre del autor. Podría escribir un algoritmo que encuentre el hotel más barato en Las Vegas. Podría escribir un algoritmo que calcule ecuaciones cuadráticas.

Me estoy repitiendo aquí … pero un Algoritmo son solo las instrucciones que usas para lograr un objetivo.
El primer paso para crear un algoritmo es definir un objetivo que desea lograr.
Después de saber lo que quiere lograr, debe descubrir cómo lograrlo y escribir los pasos a continuación.
¡Acabas de escribir un algoritmo!

¡Tomemos un ejemplo de la vida real!
Tienes un barril lleno de manzanas y quieres encontrar el más grande para poder comerlo.

Su algoritmo sería algo como esto

  1. recoger una manzana del primer barril
  2. si es tu primera manzana, déjala a un lado
  3. si no es tu primera manzana, compara su peso con el que has reservado
  4. si pesa más, déjelo a un lado y coloque el que previamente guardó en el segundo barril.
  5. Si pesa menos que el que dejó a un lado, póngalo en el segundo barril.
  6. Si todavía hay manzanas en el primer barril, regrese al paso 1

Para cuando llegues al fondo del barril, puedes estar razonablemente seguro de que tienes la manzana más grande

Yo llamo a esto mi algoritmo de comer manzana. Es un poco hack y usa bastante fuerza bruta para lograr el objetivo, pero hace el trabajo.

Un algoritmo es algo que se puede hacer en un tiempo finito en una cantidad finita de pasos. Estos pasos son instrucciones que tienen un significado preciso y son ejecutables con un esfuerzo finito.

En otras palabras, un algoritmo es como una receta muy bien escrita para un pastel, con algunos pasos que son comprensibles y, si los sigue, terminará con un pastel.

Es importante resaltar la finitud de todas esas cosas: si te digo: “para encontrar todos los números primos solo tienes que revisar cada número en el universo y probar que es primo”, eso no sería un algoritmo , porque los números son infinitos, y también, ¿qué significa “probar que es primo significa * exactamente”?

De todos modos, las computadoras solo entienden estas recetas muy específicas (o hechizos, si te gusta la magia y otras cosas) para realizar tareas, que es lo único que hacen las computadoras, procesar cosas. Entonces, cuando escribes un programa de computadora, en realidad estás escribiendo uno o muchos algoritmos para decirle a la computadora cómo haría lo que quieres que haga.

Por lo tanto, para crear un algoritmo, primero tiene que tener un problema que desea resolver, como “¿cómo encontrar personas que hablen inglés de forma nativa en quora?”, Y luego cree una receta, como “primero, comprobaré las respuestas, y luego, comprobaré si están escritas en un inglés apropiado o si tienen demasiados errores, y luego construiré una lista que separe a aquellos que he encontrado que son hablantes nativos de inglés y aquellos que no ‘t y eso es todo “. Obviamente, comenzaría con un algoritmo bastante vago, algunos de ellos no tienen un significado preciso, por lo que pensaría mucho en cómo hacerlo preciso (por ejemplo, ¿cómo comprobaría si están escritos en inglés correcto, tal vez comparándolo con libros o algo así). Después de un tiempo, tendrías una receta lo suficientemente buena para que una computadora la entienda. Pero, dado que las computadoras en realidad no hablan inglés, traduciría su algoritmo, que pensó y refinó en inglés, a un lenguaje de programación y listo, ¡habría creado un algoritmo y construido con él un programa informático!

Un algoritmo es un proceso paso a paso para realizar una tarea. Se usa en todas partes en la programación, especialmente cuando se toman prestados algoritmos complicados diseñados para trabajos específicos.

Los algoritmos básicos son recetas.

Al programar, inventará muchos algoritmos básicos para tareas simples. Pensará en lo que quiere que logre la computadora y lo dividirá en pasos. Cada vez que haces esto, estás creando un algoritmo.

Una buena analogía para crear un algoritmo es escribir una receta para cocinar. La receta también es un proceso paso a paso que produce un resultado, en ese caso, la comida. En esta analogía, usted es quien escribe la receta, y la computadora es la que cocina, ya que está ejecutando el algoritmo para usted en un lenguaje de programación.

Los algoritmos avanzados son más difíciles de inventar

Pero hay más en los algoritmos que eso. Una vez que se convierta en un programador más hábil, comenzará a resolver problemas más difíciles. Para hacer esto, deberá tomar prestada la idea de otra persona para una receta e implementarla usted mismo.

Un ejemplo sería ordenar una lista de números. Si no puede pensar en cómo crear una receta para eso, tomaría prestado el libro de recetas de otra persona para obtener ideas. En ese libro encontraría recetas (o algoritmos) con nombres como:

  • ordenar por fusión, que ordena una lista dividiéndola y ordenando cada sublista
  • insertar clasificación, que clasifica una lista insertando cada elemento sin clasificar en su lugar adecuado en la creciente lista de elementos ordenados
  • ordenación de burbujas, que clasifica la lista yendo a través de la lista varias veces e intercambiando elementos adyacentes que están fuera de orden, por lo que eventualmente burbujeará la menor cantidad de elementos a la parte superior de la lista.

Personalizando el algoritmo

Una vez que tenga su receta de muestra, implementaría el mismo método en su propio código. Los detalles de la implementación dependerán de usted, por qué está ordenando la lista, qué tipo de elementos hay en la lista, cuántos elementos hay en la lista, etc.

Entonces puede ver cómo el concepto de algoritmos es útil para el programador, especialmente cuando necesita tomar prestado el algoritmo de otra persona para inspirarse en escribir el suyo.

Los algoritmos son ilimitados en variedad y propósito

En definitiva, los algoritmos son matemáticos. Pueden ser tan complejos como las matemáticas mismas. Y se pueden usar para realizar tareas difíciles de cálculo en diversas áreas de procesamiento de datos, cálculo financiero, inteligencia artificial, procesamiento de lenguaje natural o cualquier área que se le ocurra.

Cada área tiene sus propios algoritmos que son útiles en esa área. Entonces, cuando te conviertes en un programador en un dominio especializado, recurrirás a esos algoritmos para obtener ayuda.

Un algoritmo es un conjunto de instrucciones que se utilizan para realizar una tarea, como encontrar el número más grande en una lista, eliminar todas las tarjetas rojas de una baraja de cartas, ordenar una colección de nombres, calcular una calificación promedio de película de solo la opinión de su amigo, dibujando una línea en la pantalla, determinando si un movimiento es válido en un juego de ajedrez, verificando si existe un duplicado en una base de datos, encontrando la ruta más corta a un destino, viendo si un texto coincide un patrón, emulando una cola de personas haciendo cola en un banco con solo varios cajeros disponibles, y así sucesivamente.

Un algoritmo se usa típicamente para hacer algo o calcular un valor … o ambos al mismo tiempo.

Resulta que hay muchas formas diferentes de lograr la misma tarea. Algunas formas son más rápidas (o más lentas) que otras. Algunas formas requieren hacer un seguimiento de menos (o más) piezas intermedias de información. Algunas formas dependen de la condición inicial para el rendimiento, como si el mazo de cartas se baraja completamente antes de comenzar a ordenarlo, o el mazo ya está en orden?

En su mayor parte, el estado de las cosas del mundo real se modela en la computadora utilizando estructuras de datos. Los algoritmos se utilizan para manipular esas estructuras de datos y sus relaciones con otras estructuras de datos para alterar el estado de alguna manera significativa.

Los algoritmos no se limitan a las computadoras. Son como un conjunto de instrucciones paso a paso o incluso una receta, que contiene lo que necesita, los pasos a seguir, el orden para hacerlo, las condiciones que debe buscar y los resultados esperados.

En el mundo real, has realizado algoritmos sin saberlo con ese nombre. Realizar una división larga a mano es un gran ejemplo de bucle sobre pasos repetidos hasta que se resuelva el problema. Hornear una barra de pan implica realizar una secuencia en orden con varias condiciones de espera y verificación.

Con la programación, estás haciendo lo mismo: diciéndole a la computadora cómo hacer algo. Que cómo se llama simplemente un algoritmo.

Afortunadamente, muchos problemas son similares y hay bibliotecas completas de algoritmos para que pueda elegir. Debido a que son muy útiles, las personas muy inteligentes trabajan en formas de hacer que los algoritmos que usamos con frecuencia sean más eficientes. ¡Esto es especialmente importante cuando un algoritmo está formado por otros algoritmos!

Con aplicaciones únicas y personalizadas, es posible que tenga que descubrir cómo resolvería un problema y codificarlo paso a paso en un lenguaje de programación.

Entonces, un algoritmo no es un solo “eso”, es un concepto; uno que representa “cómo hacer algo”. Y dado que queremos que las computadoras hagan cosas, usar algoritmos en nuestros programas es cómo encaja todo.

No quiero repetir la misma definición que ya escuchaste. En cambio, haré todo lo posible para expresarlo de una manera más clara.

Déjame darte un ejemplo:

Supongamos que desea crear un programa que permita al usuario ingresar dos números . Luego agrega los dos números, calcula la suma y la imprime en la pantalla.

Antes de comenzar a codificar, debe crear un Algoritmo para crear este programa.

Así que se me ocurrirá este algoritmo:

  1. Primero, declara 3 variables. (2 para almacenar los números que ingresará el usuario y el otro para la suma)
  2. Entregue al usuario un mensaje informándole que ingrese los dos números.
  3. Permita que el usuario ingrese los dos números y almacénelos en las dos variables.
  4. Ahora calcule la suma de los dos números.
  5. Muestra la suma que has calculado.

Ahora, el proceso paso a paso anterior para crear nuestro programa es lo que se conoce como Algoritmo .

Veamos nuestro algoritmo en acción:

// El código está en C ++
int main ()
{
int x, y, suma;
cout << "Ingrese dos números";
cin >> x >> y;
suma = x + y;
cout << "\ n Sum =" << sum;
devuelve 0;
}

En el Programa anterior, de la línea 4 a la línea 8, podemos ver claramente nuestro Algoritmo en acción.

Entonces Algoritmo es ese proceso (1–5) para lograr la solución.

En programación, el algoritmo es la columna vertebral. Sin ella, no hay programación.

El algoritmo es un procedimiento paso a paso para resolver cualquier problema en particular.

Existen varias categorías de problemas y, después de leer un problema, debe identificar la categoría en la que se encuentra el problema.

Ahora debe identificar qué algoritmo de algoritmos conocidos será mejor para resolver el problema de manera óptima. Ahora implemente el algoritmo usando estructuras de datos en cualquier lenguaje de programación.

Lea Introducción a algoritmos por cormen (CLRS) o estructuras de datos y algoritmos facilitados por Karumanchi.

Un algoritmo es una solución paso a paso que desarrolla para procesar algunos datos iniciales para producir una salida deseada, suponiendo que conoce los elementos del lenguaje de programación para hacerlo. Por ejemplo, para organizar un conjunto de números en orden ascendente. Debe saber cómo almacenarlos en su secuencia inicial, descubrir cómo tomar cada uno y colocarlo en su lugar final correcto de acuerdo con el objetivo (también conocido como desarrollar el algoritmo) y entregar la salida.

¿Qué es el algoritmo y cómo usarlo en la programación?

Las respuestas que ya tiene (un algoritmo es un conjunto de instrucciones para completar una tarea) son buenas para lo que preguntó, por lo que voy a responder una pregunta ligeramente diferente: si eso es todo para los algoritmos, ¿por qué escucho eso? mucho sobre “estudiar algoritmos”?

Una razón para estudiar algoritmos es que le permite examinar qué tan eficiente es su algoritmo. A veces puedes escribir código que funciona, pero es terriblemente lento. Puede ver cómo funcionará su algoritmo a medida que ingresa los cambios. Por ejemplo, si ordena una lista de usuarios, ¿tomará ese orden aproximadamente el doble de tiempo para el doble de usuarios (pista: no)? ¿O tomará aproximadamente cuatro veces más (tal vez)? ¿O en algún punto intermedio (tal vez)?

Otra razón es que hay muchos problemas que surgen una y otra vez en la programación. Algunas personas que son más inteligentes que tú y yo hemos pensado en algunas de ellas durante mucho tiempo. Si puede reconocer su problema como uno que ya está resuelto, a veces hay una solución inteligente que habría sido muy difícil de pensar.

Un algoritmo es solo el proceso que utiliza para resolver un problema. Entonces, si está tratando de determinar si un número es par, puede seguir estos pasos y siempre obtendrá la respuesta:

  1. divide el número entre 2 y captura el valor restante.
  2. Si el resto es cero, entonces el número es par.
  3. Si el resto es uno, entonces el número es impar.

Los pasos 1 a 3 son un ALGORITMO para determinar si un número es par. Al programar, primero desea desarrollar un algoritmo para resolver su problema y luego codificarlo utilizando el idioma que elija.

Computer Algo es una serie de instrucciones paso a paso que deben seguirse antes de comenzar a codificar en una máquina. Mira este video:

¿Qué es un algoritmo informático? – Diseño, ejemplos y optimización – Transcripción de videos y lecciones | Study.com

El algoritmo es el procedimiento paso a paso para construir un proyecto o sistema.

Podemos decir que es el procedimiento cómo fluye el desarrollo del proyecto y el sistema.

Para usarlo en la programación, debe aprender profundamente la estructura de datos para poder aprender cómo vincular un paso con otro.

También puede ir a leer DAA, es decir, diseño y análisis de algoritmo.