¿Puedo empezar a aprender algoritmos antes de aprender programación?

En general, para llamar a su propio desarrollador de software, debe comenzar a aprender qué es el desarrollo de software y qué es la codificación, lo que significa que, de seguro, ¡debe comenzar a aprender a programar primero!

después de poder entender y resolver problemas básicos mediante la programación de computadoras, puede ir y aprender sobre estructuras de datos y algoritmos.

No seas tan presionado o apresurado


Imagina que fuiste a aprender un algoritmo llamado DFS, luego lees algo como esto:

  1. Comience desde un nodo primario no visitado.
  2. Usando la recursión, vaya a todos sus hijos, márquelos como visitados, luego inicie el DFS nuevamente desde cada uno de ellos.

Este es un ejemplo muy simple, un algoritmo muy simple, pero, ¿cree que una persona que no sabe lo que llamamos “codificación” podrá entenderlo?

Los algoritmos en general son formas sistemáticas de resolver problemas, pero no olvide que, si desea resolver un problema, debe tener en cuenta algunos aspectos, algunos conceptos.

En los algoritmos computacionales, también debe tener en cuenta algunos aspectos, no me gusta el término “codificación”, ya que no se trata solo de escribir código, sino de conceptos.

Entonces, realmente puedes aprender algoritmos computacionales sin poder escribir código, siempre que puedas entender conceptos como los que mencioné anteriormente (recursión, gráfico, nodo, padre, hijo), así que puedes comenzar a hacer algoritmos antes de “codificar” , tampoco está disponible, pero creo que es la forma correcta de aprender algoritmos, aprenderlos teóricamente (entenderlos bien) y luego comenzar a escribir código después de ser lo suficientemente bueno con los conceptos y el pensamiento en los algoritmos de computadora.

De acuerdo con aprender “codificación” antes de los algoritmos, todos nosotros (desafortunadamente) hicimos eso, y no creo que sea la manera correcta, pero funcionará, ya que aquí estamos, lo hicimos de la manera incorrecta, pero de todos modos aprendido.


También vea esto:
¿Debo aprender algoritmos primero antes de aprender programación? Si es así, ¿cuál es la mejor manera de aprender algoritmos?

¿Debo aprender un lenguaje de programación como Java o comenzar con algoritmos considerando que soy un novato en la programación?

¿Debo aprender algoritmos antes de aprender programación?

Para aprender codificación, ¿se debe aprender primero un lenguaje o algoritmos?

Puedes aprender algoritmos sin ser competente en ningún lenguaje de programación. Pero creo que será útil conocer las construcciones de programación básica ofrecidas por los lenguajes como variables, bucle, if-then-else, while, arreglos, funciones , etc., y cómo funcionan. Puede encontrar muchos libros de texto que explican los algoritmos por ser agnóstico del lenguaje. Pero incluso entonces se espera que usted tenga una comprensión de estas construcciones básicas.
Aquí hay algunos libros de texto que explican los algoritmos en pseudocódigo.
(Nota: esta lista no es exhaustiva)

  • Introducción a los algoritmos.
  • Introducción al Diseño y Análisis de Algoritmos.
  • Diseño de algoritmo
  • Algoritmos: Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani

Además, si usted es completamente nuevo en los algoritmos, creo que será útil conocer primero las estructuras de datos como pilas, colas, listas enlazadas, árboles, colas de prioridad, etc., y luego aprender sobre los algoritmos. Esto le ayudará a obtener más información sobre la implementación práctica de algunos algoritmos. Por ejemplo, el uso de colas de prioridad hace que el algoritmo de ruta más corta de Dijkstra sea mucho más rápido.

Finalmente un último comentario. No sé mucho sobre PHP y JavaScript, pero si eres un principiante completo en la programación, por lo que he observado, normalmente se recomienda Python. Yo mismo empecé con C.

¡La mejor de las suertes!

Los algoritmos y la programación van de la mano. Es posible trabajar en algoritmos sin programación. No es posible programar significativamente sin algún tipo de algoritmo.

Cuando las personas dicen “algoritmos”, a menudo se refieren al conjunto de algoritmos que se presentan en una clase con un nombre como “estructuras de datos y algoritmos”. Pero un algoritmo es solo un conjunto de instrucciones paso a paso que usa para hacer algo. Al menos al principio, cualquier cosa significativa para la que desee escribir código necesita tener un algoritmo.

Cuando trabajé en el laboratorio de computación en el campus, alguien vino una vez en busca de ayuda con un programa que estaba tratando de escribir. Le pregunté qué se suponía que debía hacer y él dijo: “No estoy seguro”. Si no estás seguro de qué se supone que debe hacer, no tendrás mucha suerte al escribir el código para hacerlo.

Dicho esto, si quieres mejorar tu programación, no dejes de escribir el código demasiado tiempo. Si tiene problemas para escribir el código y quiere mejorar, la forma de mejorar es practicar. Asegúrate de tener un mapa mental de lo que quieres hacer, luego escribe el código para hacerlo. Es difícil mejorar en escribir código no codificando.

Técnicamente sí. Sin embargo, sería como escribir recetas sin cocinar nunca. La prueba está en el pudín. La prueba de un algoritmo está en la prueba de la unidad.
Bueno, técnicamente, puede probar la corrección de los algoritmos matemáticamente, pero para los algoritmos no triviales, es más fácil implementar el algoritmo y probar la implementación.

Por qué no? Al principio, debes aprender algoritmos antes de programar. Si conoce los algoritmos correctamente, será muy fácil para usted aprender a programar. Por lo tanto, sugiero que se centren en los algoritmos. Y puede aprender la teoría de los algoritmos al jugar en el sitio web AlgoNinja [1]. Como resultado, aprenderás fácilmente.

Notas al pie

[1] Aprende algoritmos jugando un juego.

Sí tu puedes. Muchos algoritmos se pueden analizar o realizar solo con papel y lápiz. Por ejemplo, el algoritmo de Newton para encontrar la raíz cuadrada de un número. Otro sería el algoritmo de estimación de pi al inscribir y circunscribir un círculo con polígonos de muchos lados, cuyas circunferencias se pueden calcular para obtener los límites superior e inferior de pi. Incluso la división larga y el método escrito de multiplicación son algoritmos.

Sí, y deberías.

El diseño y análisis de algoritmos en papel es una parte esencial de la informática. Es un ejercicio valioso, ya que está utilizando su propio cerebro para simular una computadora y comprender el procesamiento que se está realizando. De lo contrario, se puede esconder tanto de la vista, y no se debe descuidar una buena dosis de gimnasia mental.

La pluma y el papel también pueden ayudarlo a probar los límites teóricos de su pseudocódigo. La teoría es la única forma de medir la eficiencia real de un algoritmo. Por ejemplo, es imposible saber qué tan eficiente es su algoritmo simplemente ejecutando un programa y midiendo el tiempo que lleva completar una serie de tareas.

Recomendaría revisar esto al menos una vez: la mejor y más rápida forma de aprender a resolver problemas en CP por Manohar Reddy Poreddy en AlgorithmsAndMore

¡Absolutamente! Un algoritmo es simplemente una forma de describir un proceso. Muchos se expresan a través de programas, pero puedes hacerlo sin ellos. Puede que tenga que aprender a leer un pequeño código o al menos psuedocode, pero es importante recordar que no importa qué idioma vea escrito, puede escribirlo en cualquier otro. Así que solo trata de pensar en términos de inglés para empezar.

El desafío al que me enfrenté cuando traté de enseñar a alguien que no trabaja en TI a comenzar a codificar es que, para ellos, es muy difícil dividir una tarea conceptualmente en pasos más pequeños. Al igual que los pasos para “poner un elefante en el refrigerador”, los métodos de “descomponer los pasos” son tan difíciles de imaginar hasta que uno se acostumbra.
Y dividirse en pasos (¡y los correctos!) Es casi de lo que trata el algoritmo.