Estoy luchando para entender los algoritmos. ¿Cuáles son las formas de aprender algoritmos de una manera muy básica?

Una forma de comenzar a aprender acerca de los algoritmos es construir algunos ejemplos simples utilizando Scratch: Imagine, Program, Share

Establecer una tarea, por ejemplo, para dibujar un cuadrado.

Pregúntese, ¿cuáles son los pasos involucrados en dibujar un cuadrado en la pantalla con rasguños?

Ver mi ejemplo en: Notas de Scratch

El proceso de dibujar un cuadrado con un rasguño es un ejemplo de un “algoritmo” muy básico

Hay un número infinito de formas de dibujar un cuadrado, pero probablemente hay una que es la más eficiente (o elegante).

Por ejemplo, usted podría dejar su pluma. Y repita lo siguiente dos veces: avance 100 pequeños pasos de 1 tamaño hacia adelante y luego gire a la izquierda 90 grados y tome 2, tamaño 50 más grande hacia adelante y luego gire a la izquierda 450 grados. (No eficiente, pero hará el trabajo)

Este es un método (algoritmo) para dibujar un cuadrado. Delebriatley oscuro y demasiado complejo, pero hace el trabajo.

Estoy seguro de que podría mejorar mi ejemplo en cuanto a la velocidad de la velocidad de operación y la longitud del código. Observe cómo funcionan los elementos y optimice el código.

Aprender a leer códigos y leer buenos y malos ejemplos de códigos son elementos importantes para aprender a programar.

En la programación usualmente buscas eficiencia y elegancia.

Pero algunas veces quieres que tu código sea oscuro e ilegible, incluso hay contenido para esta forma de arte arcano. El Concurso Internacional del Código C ofuscado

El resultado final del programa de ejemplo anterior.

Espero que esto te ayude y te dé un pequeño paso en tu búsqueda para comprender los algoritmos.

PS no descarta Scratch como una plataforma “simple” y por lo tanto inútil para aprender. En realidad es bastante sofisticado, aunque hay muchas cosas que no se pueden hacer. Lo recomendaría como un buen punto de partida.

Que te diviertas.

PS Check out Analizando algoritmos en Lynda.com

Por ejemplo, podemos considerar la cantidad de espacio o memoria que requiere un algoritmo para resolver el problema. O, como alternativa a los requisitos de espacio, podemos analizar y comparar algoritmos según la cantidad de tiempo que requieren para ejecutar. Esta medida se conoce a veces como el tiempo de ejecución, o el tiempo de ejecución, del algoritmo. Una forma en que podemos medir el tiempo de ejecución de un programa es hacer un análisis de referencia. Esto significa que rastrearemos el tiempo real requerido para que el programa calcule su resultado.

La complejidad, si me toma un segundo ordenar 10.000 elementos, ¿cuánto tiempo me llevará ordenar 1.000.000? La complejidad en este caso es una medida relativa a otra cosa. Cuando se trata de caracterizar la eficiencia de un algoritmo en términos de tiempo de ejecución, independientemente de cualquier programa o computadora en particular, es importante cuantificar el número de operaciones, o pasos, que requerirá el algoritmo. Si cada uno de estos pasos se considera una unidad básica de cálculo, entonces el tiempo de ejecución de un algoritmo se puede expresar como el número de pasos necesarios para resolver el problema.

Esto es sencillo. Un algoritmo se puede entender en muchos niveles, aplicaciones, orígenes, ideas subyacentes, antecedentes matemáticos, etc.

Básicamente, los aspectos anteriores a veces son necesarios para comprender por qué se inventa tal algoritmo.

Para comenzar con el algoritmo, necesita algunas herramientas para descifrarlo, como el álgebra, la geometría o las estadísticas, según el conocimiento que pueda tener el algoritmo. Entonces, vaya a un curso de matemáticas relevante si se siente confundido con el teorema y las ecuaciones. Generalmente, el álgebra lineal es necesario si tienes vectores y matrices para tratar. Y la inferencia estadística es necesaria cuando tiene problemas de regresión / regresión / clasificación.

Luego, un algoritmo generalmente se compone de tres partes, entrada, proceso y cálculo y salida. Es como lo que tienes, lo que vas a hacer y luego lo que obtienes al final.

Además, es posible que necesites tener algún conocimiento de programación con respecto a … para …, … si …, … mientras …, … cambia …

Además, para profundizar más en los algoritmos, puede comenzar con algunos algoritmos básicos y de fácil comprensión para tener una idea de qué es un algoritmo y qué implica.

Después de todo, ve a un chico cercano para que te ayude, si realmente necesitas conquistarlo recientemente.

Buena suerte.

Creo que puedo responder. Tengo (tuve) el mismo problema hasta hace unos meses.

Breve fondo: soy un ingeniero de software de profesión, pero mi calificación académica es un título universitario en biotecnología. Tengo un gran interés en las matemáticas.

Ahora me he mudado a un equipo de ciencia de datos donde la investigación y los algoritmos son lo único que se habla.

Mi preparacion

  • Entender el problema a resolver.
  • Intenta resolverlo de la manera que tú sabes. No te preocupes por lo buena que es la metodología.
  • A continuación, buscar la solución y poner en práctica es a ciegas
  • Descubre los resultados y compáralos con los tuyos.

Los algoritmos tienen complejidad en su ortografía. Pero en realidad no es eso. Es solo una forma corta y eficiente de resolver un problema.

Todo lo mejor

Para dominar el proceso de un algoritmo se requiere la habilidad de “pretender ser una computadora”. Ha diseñado las variables en la memoria, el marco de la pila y cualquier asignación en el montón. Usted hace, a mano, cada paso del algoritmo que escribe los cambios en las variables a medida que se ejecuta el programa. Uno de mis viejos libros favoritos que enseñan esto: “Ciencias de la computación: un primer curso”, 2ª edición por Forsyth, Keenan, Organic y Stenberg. Ver Amazon.

Un algoritmo es solo un programa o función, es un código. Si no puedes entender los algoritmos, no entiendes la programación. Si no entiende la programación, busque una línea de trabajo diferente.

Es posible que desee probar los algoritmos de engorde de Aditya Y. Bhargava. No conozco a nadie y no tengo ningún interés financiero, pero es el libro que recomiendo a mis alumnos de nivel A como lectura de fondo y que, según dicen, es bastante accesible para un principiante.

Un algoritmo es una serie de pasos necesarios para realizar alguna tarea u operación.

Cómo explicar los algoritmos a los niños