Cómo Mejorar En Los Algoritmos De Javascript

Cómo aprender algoritmos de escritura

Los algoritmos de escritura pueden ser abrumadores, incluso para los desarrolladores más experimentados. Muchos de ellos memorizan todos los diferentes enfoques de un problema en particular. Sin embargo, ¿qué pasa si en su lugar miramos un diagrama guiado de cómo mirar un problema para que podamos solucionarlo?

Este artículo examina los algoritmos: qué son, para qué se utilizan los recursos y cómo comenzar a aprender a escribir algoritmos.

¿Qué es un algoritmo?

Un algoritmo es un conjunto de instrucciones. Si compara un algoritmo con una receta, puede ver cómo se ve un algoritmo:


Receta de hamburguesa

Tiempo de preparación: 10 min

Entrada:

Ingredientes [] - una lista de artículos que contiene el nombre del artículo y la cantidad necesaria

Ej: [{nombre: " carne de res, 85/15 ", cantidad: "2 lb" }, {nombre : "Queso americano, Cantidad:" 8 rebanadas "}, Etc.]

Direcciones [] - una lista de cadenas que describen los pasos para terminar y presentar las hamburguesas a los comedores hambrientos

Ej: ["Tira la carne y sepárala en 8 secciones diferentes ‚"," Enrolla las secciones en una bola ‚"," Aplana cada bola en forma de disco. Todos los discos deben ser del mismo tamaño, "etc.]

Rendimiento: 8 porciones


Un El algoritmo, cuando está escrito en código, asume que conoce al menos un lenguaje de programación y sus métodos populares, sus estructuras de datos y cómo usarlo. El concepto es similar a cómo una receta asume que conoces ciertos métodos de cocción y cómo usar accesorios de cocina.

Un algoritmo tiene una entrada y una salida. El resultado (resolución gran problema) viene de resolver pequeños problemas en el camino.

¿Para qué sirve un algoritmo?

Los algoritmos se usan en todas partes porque resuelven problemas. informática y desarrollo web se usan cuando se escribe código para decirle a la computadora que haga algo.

Si tuviéramos una lista de nombres, por ejemplo, podemos usar un algoritmo de clasificación como ordenar burbuja para ordenar los nombres por nombre o apellido. También podemos usar un algoritmo de búsqueda binaria para buscar un nombre en esta misma lista. Estos son solo algunos de los algoritmos estándar que puede aprovechar.

Tenga en cuenta que nunca termina de aprender a escribir algoritmos después de completar un curso, simplemente mejora. Veremos una manera de acercarlo a escribir algoritmos en la siguiente sección.

Cómo aprender a escribir un algoritmo: paso a paso

Estos son los consejos recomendados paso a paso para aprender a escribir algoritmos.

1. Aprender un lenguaje de programación
Java, JavaScript y Python son lenguajes populares ‚Äã‚Ä ãusado para escribir algoritmos de computadora. Elija un idioma y apréndalo de adentro hacia afuera.

Incorpore estos conceptos en su comprensión del idioma que elija:

  • Tipos de datos - Número, booleano , cadenas
  • Variables
  • Condicionales - sentencias if-else, sentencias ternarias
  • Funciones - funciones anónimas, con nombre y de orden superior
  • Objetos - ser capaz de crear objetos, manipular objetos y usar métodos de objetos
  • Arreglos o listas : ser capaz de crear arreglos/listas, manipularlos y usar los métodos asociados
  • Bucle - ambos tradicionales para bucles y matrices/métodos de lista avanzados
  • Clases

2. Estructuras de datos

Debe tener un buen dominio de las estructuras de datos para que sus algoritmos sean más eficientes. Asegúrese de saber para qué sirve cada estructura de datos y cómo funciona.

  • Tablas/listas. Aprenda a manipular una matriz/lista y cuál es la O mayúscula de los diferentes métodos de inserción, eliminación y obtención. Es importante saber cómo funcionan las matrices/listas ocultas para poder comprender la complejidad temporal y espacial de un algoritmo.
  • Lista enlazada . Ser capaz de explicar el propósito de una lista enlazada y en qué se diferencia de una matriz. También debe conocer el Big O por sus métodos comunes.
  • Tabla hash. Comprenda cómo funciona una tabla hash y cuál es la O grande cuando se trabaja con una tabla hash.
  • Apilado / código . Ser capaz de discutir las diferencias y similitudes entre una pila y una cola y qué estructuras de datos se pueden usar para este tipo especial de datos abstractos.
  • Árboles . Usar árboles para reducir el tiempo de ejecución de un algoritmo es un buen método. Los árboles binarios son una herramienta muy popular en la manipulación de algoritmos.
  • Gráficos. Qué gráficos podrían representar y por qué los gráficos podrían usarse para construir un algoritmo.

3. Algoritmos de escritura: el proceso de resolución de problemas

Ha aprendido un lenguaje de programación básico y suficientes estructuras de datos para comenzar. Felicidades ! Comience.

Empiece poco a poco. Es importante comprender los cuatro conceptos del tratado de George Pòlya sobre resolución de problemas (consulte Recursos . También aquí se han añadido algunos pasos para analizar su enfoque general:

George Pòlya`s guía para resolver problemas

  1. Comprender el problema
  2. ¿Qué estás buscando?
  3. Tomar el problema y explicarlo con sus propias palabras: intente explicarle a alguien que no es técnicamente bueno.
  4. Ingrese palabras clave problemáticas para ayudarlo a crear un plan básico, sin código. Solo los pasos necesarios para obtener una respuesta.
  5. li>
  6. Repita este plan para crear una solución de código.
    1. Si no puede encontrar una solución, vuelva al paso n. asegúrese de comprender el problema. ¿Está devolviendo el resultado correcto? ¿Hay algo que te hayas perdido en el aviso de codificación?
  7. ¿Cuál es la calificación Big O de su solución? Hay algo que puede hacer para que la solución sea un algoritmo más eficiente con referencia a complejidad espacial o complejidad del tiempo ?

4. Empezar pequeño

Comienza con un algoritmo de búsqueda básico que itera a través de una cadena o matriz para encontrar una entrada. Si no se encuentra la entrada, devuelve falso. Si se encuentra, devuelve verdadero.

Desarrolle este algoritmo para principiantes y use otras estructuras de datos para ver cómo otros podrían necesitar un proceso diferente. Intente ordenar las entradas para usar algoritmos de búsqueda más eficientes.

Use sitios para practicar algoritmos como los que se enumeran en la sección de recursos para mejorar sus habilidades.

5. Cambie a algoritmos más difíciles

strong>

Después de varias iteraciones, puede cambiar a algoritmos más difíciles. En este punto, debería poder recrear algunos de los algoritmos de clasificación, incluida la clasificación por burbuja y la clasificación por combinación. La investigación binaria también debe ser parte de su experiencia de programación diaria.

Siga usando sitios para practicar algoritmos para mejorar sus habilidades. Ponte a prueba con problemas etiquetados un poco más difíciles para ver cómo te va.

Los mejores cursos y capacitación sobre algoritmos

Todos aprenden un poco diferente. Estos son algunos de los mejores cursos algorítmicos y capacitación disponibles. Algunos son de pago, pero también los hay gratuitos. Esta lista no está en ningún orden en particular.

Cursos de algoritmos en línea

Aquí se encuentran algunos de los mejores cursos de algoritmos disponibles en línea:

Especialización en algoritmos, Universidad de Stanford

  • Coursera
  • 4 cursos:
    • Dividir para gobernar, ordenar y buscar y algoritmos aleatorios
    • Búsqueda gráfica, rutas más cortas y estructuras de datos
    • Algoritmo codicioso, árboles de cobertura mínima y planificación dinámica
    • Rutas más cortas revisadas, problemas NP-Complete y qué hacer con su tema
  • 4 meses
  • Requisitos previos: El curso es independiente del idioma, pero se supone que conoce al menos un lenguaje de programación, datos básicos y suficientes matemáticas para saber cuáles son las pruebas.
  • Certificado: $ 49 / mes hasta completarlo; Auditoría: GRATIS

El profesor Tim Roughgarden de la Universidad de Stanford imparte cursos de posgrado en Algoritmos en Coursera. Estos cursos cubrirán prácticamente todo lo que necesita para tener una buena comprensión de los algoritmos para que pueda desempeñarse bien en las entrevistas técnicas.

Algoritmos, IIT Bombay

  • edX
  • 6 semanas, 6-8 horas / semana
  • Requisitos previos: Comprensión básica de estructuras de datos
  • Certificado verificado: $ 149; Sin certificado: GRATIS

Este curso es parte del programa IIT Bombay Fundamentos de Ciencias de la Computación XSeries. Los temas tratados aquí incluyen clasificación y búsqueda, algoritmos numéricos, algoritmos de cadenas, algoritmos geométricos y algoritmos gráficos.

Cursos gratuitos sobre algoritmos

Introducción a los algoritmos

  • Udacity
  • California. 4 meses, autodidacta
  • Requisitos: al menos un lenguaje de programación; El curso usa Python en los ejemplos
  • GRATIS

Este es un curso acelerado gratuito sobre algoritmos de Michael Littman de Udacity. Usa los seis grados del fenómeno de Kevin Bacon para mostrar cómo funcionan los algoritmos. Piensa en los seis grados de separación: se ha dicho que todos son seis o menos lazos sociales separados entre sí. Usa el mismo concepto pero con las películas y actores de Kevin Bacon.

FreeCodeCamp, script de algoritmo básico

  • FreeCodeCamp
  • Autoaprendizaje
  • Requisito previo: conocimientos básicos de JavaScript y datos
  • GRATIS

Esta serie de ejercicios de FreeCodeCamp lo ayudará a tener éxito resolviendo pequeños problemas antes de pasar a los más difíciles. Los ejercicios a su propio ritmo usan la plataforma de aprendizaje de FreeCodeCamp para probar su código.

A introducción visual a los algoritmos < / a>

  • Educativo
  • Autoaprendizaje, principalmente basado en texto y ejemplos
  • Requisitos previos: JavaScript, Python, C ++ o Java
  • GRATIS

En este curso gratuito, se utilizan ayudas visuales y de video para ilustrar cómo funcionan los algoritmos. Los entornos de código integrado hacen que la experiencia del usuario sea bastante buena. Se incluyen posibles soluciones.

Libros de algoritmos

Hay varios libros que lo ayudarán en su viaje para convertirse en un mejor escritor de algoritmos. Muchos de estos están disponibles en una librería local y en Amazon.

`Algoritmos Grokking`

` Una guía ilustrada para programadores y curiosos `

Por Aditya Bhargava

algoritmos cubierta Grokking

Grokking Algorithms es uno de los mejores libros sobre algoritmos impresos. Creado por un artista convertido en desarrollador de software, Bhargava adopta un enfoque ilustrado para ayudarlo a comprender o usar algoritmos de manera intuitiva. Los ejercicios al final de cada capítulo ayudan a consolidar el contenido del libro.

`Algoritmos en pocas palabras , 2ª ed. `

`Una guía práctica`

Por George T. Heineman, Gary inch, Stanley Selkow

 Algoritmos en breve de la portada de

Este libro adopta un enfoque de diseño basado en modelos para Aprenda cuándo implementar algoritmos extraídos. Aprenderá a codificar las soluciones y luego las mejorará utilizando estructuras de datos avanzadas. Las soluciones están en Ruby, Java, C++ y C, pero se traducen fácilmente a sus idiomas favoritos.

`Algoritmos, 4ª ed. `

Por Robert Sedgwick y Kevin Wayne

 Algoritmos cubierta cuarta edición

La cuarta edición de los algoritmos de Sedgewick y Wayne es una fantástica introducción al mundo de los algoritmos. Los autores revisan más de 50 de los algoritmos más importantes para llamar la atención. Los educadores de Princeton han desarrollado un en línea curso que complementa bien este texto.

Recurso

Cómo Mejorar En Los Algoritmos De Javascript JavaScript: Questions

Shop

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Best laptop for Minecraft

$590

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method