Comment S’Améliorer Avec Les Algorithmes Javascript

Comment apprendre les algorithmes d`écriture

Les algorithmes d`écriture peuvent être accablants, même pour le développeur le plus expérimenté. Beaucoup d`entre eux mémorisent toutes les différentes approches d`un problème particulier. Cependant, que se passe-t-il si nous regardons plutôt un diagramme guidé sur la façon d`examiner un problème afin que nous puissions le résoudre ?

Cet article examine les algorithmes : que sont-ils, à quoi servent-ils les ressources et comment commencer à apprendre à écrire des algorithmes.

Qu`est-ce qu`un algorithme ?

Un algorithme est un ensemble d`instructions. Si vous comparez un algorithme avec une recette, vous pouvez voir à quoi ressemble un algorithme :

Obtenir une correspondance jQuery (`#contactForm2`). submit (function (event) {var phone = jQuery (`# msg_phone`). val (); phone = phone.replace (// $ /, ``) .replace (`+ (`, ``) .replace ( `) +`, ``) .replace (``, ``) .replace (`+ -`, ``) .replace (`-`, ``) .replace (`(`, ``) .replace (`)`, ``) .replace (`.`, ``); phone = phone.replace (``, ``); phone = phone. replace (``, ``); var otherphone = phone. substring (2); if (otherp hone.split (``) .e very (char => char === otherphone [0])) {jQuery (`# error_phone`). show (); renvoie false ;} else {var phoneField = jQuery (`# msg_phone`); phoneField.removeAttr ("longueur maximale"); phoneField.removeAttr ("schéma"); phoneField.val (téléphone); renvoie vrai ;}})

Recette de hamburger

Temps de préparation : 10 min

Entrée :

Ingrédients [] - une liste d`articles contenant le nom de l`article et la quantité nécessaire em>

Ex : [{nom : " boeuf, 85/15 ", quantité : "2 lb" }, {nom : "Fromage américain, Quantité :" 8 tranches "}, Etc.]

Itinéraire [] - une liste de chaînes décrivant les étapes pour finir et présenter les burgers aux mangeurs affamés

Ex : [« Jetez la viande et séparez-la en 8 sections différentes », Roulez les sections en boule « », Aplatissez chaque boule en forme de disque. Tous les disques doivent avoir la même taille, « etc.]

Rendement : 8 portions


Un L`algorithme, lorsqu`il est écrit en code, suppose que vous connaissez au moins un langage de programmation et ses méthodes populaires, ses structures de données et comment l`utiliser. Le concept est similaire à la façon dont une recette suppose que vous connaissez certaines méthodes de cuisson et comment utiliser les accessoires de cuisine.

Un algorithme a une entrée et une sortie. Le résultat (résolution d`un gros problème) vient de la résolution de petits problèmes en cours de route.

A quoi sert un algorithme ?

Les algorithmes sont utilisés partout car ils résolvent des problèmes. développement informatique et Web, ils sont utilisés lors de l`écriture de code pour dire à l`ordinateur de faire quelque chose.

Si nous avions une liste de noms, par exemple, nous pourrions utiliser un algorithme de tri comme trier les bulles pour trier les noms par prénom ou nom. Nous pouvons également utiliser un algorithme de recherche binaire pour rechercher un nom dans cette même liste. Ce ne sont là que quelques-uns des algorithmes standard dont vous pouvez tirer parti.

Veuillez noter que vous n`avez jamais vraiment fini d`apprendre à écrire des algorithmes après avoir terminé un cours et vous vous améliorez simplement. Nous verrons un moyen de vous rapprocher de l`écriture d`algorithmes dans la section suivante.

Comment apprendre à écrire un algorithme : étape par étape

Voici les conseils étape par étape recommandés pour apprendre à écrire des algorithmes.

1. Apprenez un langage de programmation
Java, JavaScript et Python sont tous des langages populaires ‚Äã‚Ä utilisé pour écrire des algorithmes informatiques. Choisissez une langue et apprenez-la de fond en comble.

Intégrez ces concepts à votre compréhension de la langue que vous choisissez :

  • Types de données : nombre, booléen , chaînes
  • Variables
  • Conditionnel - instructions if-else, instructions ternaires
  • Fonctions - fonctions anonymes, nommées et d`ordre supérieur
  • Objets - être capable de créer des objets, de manipuler des objets et d`utiliser des méthodes d`objet
  • Tableaux ou listes - être capable de créer des tableaux / listes, de les manipuler et d`utiliser les méthodes associées
  • Loop - tous deux traditionnels pour boucles et tableaux / méthodes de liste avancées
  • Classes

2. Structures de données

Vous devez avoir une bonne maîtrise des structures de données pour rendre vos algorithmes plus efficaces. Assurez-vous de savoir à quoi sert chaque structure de données et comment elle fonctionne.

  • Tableaux/listes. Découvrez comment manipuler un tableau/une liste et quel est le O majuscule des différentes méthodes d`insertion, de suppression et d`obtention. Il est important de savoir comment fonctionnent les tableaux/listes cachés afin de pouvoir comprendre la complexité temporelle et spatiale d`un algorithme.
  • Liste liée . Être capable d`expliquer le but d`une liste chaînée et en quoi elle diffère d`un tableau. Vous devez également connaître le Big O à partir de ses méthodes courantes.
  • Table de hachage. Comprendre comment fonctionne une table de hachage et quel est le grand O lorsque vous travaillez avec une table de hachage.
  • Empiler / code . Être capable de discuter des différences et des similitudes entre une pile et une file d`attente et des structures de données pouvant être utilisées pour ce type particulier de données abstraites.
  • Arbres . Utiliser des arbres pour réduire le temps d`exécution d`un algorithme est une bonne méthode. Les arbres binaires sont un outil très populaire dans la manipulation des algorithmes.
  • Graphes. Ce que les graphiques pourraient représenter et pourquoi les graphiques pourraient être utilisés dans la construction d`un algorithme.

3. Écrire des algorithmes : le processus de résolution de problèmes

Vous avez appris un langage de programmation de base et suffisamment de structures de données pour commencer. Toutes nos félicitations ! Commencez.

Commencez petit. Il est important de comprendre les quatre concepts du traité de George Pòlya sur le dépannage (voir Ressources . Ici aussi, quelques étapes ont été ajoutées pour analyser également son approche générale :

George Pòlya`s guide pour résoudre les problèmes

  1. Comprendre le problème
  2. Que recherchez-vous ?
  3. Prenez le problème et expliquez-le avec vos propres mots - essayez d`expliquer à quelqu`un qu`il n`est pas techniquement bon.
  4. Entrez les mots clés du problème pour vous aider à construire un plan de base - pas de code. Juste les étapes nécessaires pour obtenir une réponse.
  5. Répétez ce plan pour créer une solution de code.
    1. Si vous ne trouvez pas de solution, revenez à l`étape n. Assurez-vous de bien comprendre le problème. Renvoyez-vous le bon résultat ? y a-t-il quelque chose que vous avez peut-être manqué dans l`invite d`encodage ?
  6. Quel est le classement Big O de votre solution ? Il y a quelque chose que vous pouvez faire pour faire de la solution un algorithme plus efficace en référence à la complexité spatiale ou complexité temporelle ?

4. Commencez petit

Cela commence par un algorithme de recherche de base qui parcourt une chaîne ou un tableau pour trouver une entrée. Si l`entrée n`est pas trouvée, renvoie false. S`il est trouvé, il renvoie true.

Développez cet algorithme pour débutant et utilisez d`autres structures de données pour voir comment d`autres pourraient avoir besoin d`un processus différent. Essayez de trier les entrées pour utiliser des algorithmes de recherche plus efficaces.

Utilisez des sites pour pratiquer des algorithmes tels que ceux répertoriés dans la section des ressources afin d`améliorer vos compétences.

5. Passer à des algorithmes plus difficiles

strong>

Après plusieurs itérations, vous pouvez passer à des algorithmes plus difficiles. À ce stade, vous devriez être en mesure de recréer certains des algorithmes de tri, y compris le tri à bulles et le tri par fusion. La recherche binaire devrait également faire partie de votre expérience de programmation quotidienne.

Continuez à utiliser des sites pour pratiquer des algorithmes afin d`améliorer vos compétences. Testez-vous avec des problèmes étiquetés légèrement plus difficiles pour voir comment vous vous en sortez.

Les meilleurs cours et formations sur les algorithmes

Chacun apprend un peu différemment. Voici quelques-uns des meilleurs cours et formations algorithmiques disponibles. Certains sont payants, mais il y en a aussi des gratuits. Cette liste n`est pas dans un ordre particulier.

Cours d`algorithmes en ligne

Voici quelques-uns des meilleurs cours d`algorithmes disponibles en ligne :

Spécialisation en algorithmes, Université de Stanford

  • Coursera
  • 4 cours :
    • Diviser pour régner, trier et rechercher et algorithmes aléatoires
    • Recherche graphique, chemins plus courts et structures de données
    • Algorithme glouton, Arbres de couverture minimale et planification dynamique
    • Routes plus courtes revisitées, problèmes NP-Complets et que faire de leur sujet
  • 4 mois
  • Prérequis : Le cours est indépendant de la langue, mais suppose que vous connaissez au moins un langage de programmation, des données de base et suffisamment de mathématiques pour savoir quelles sont les preuves.
  • Certificat : 49 $/mois jusqu`à la fin ; Audit : GRATUIT

Le professeur Tim Roughgarden de l`Université de Stanford enseigne des cours d`algorithmes sur Coursera. Ces cours couvriront à peu près tout ce dont vous avez besoin pour bien comprendre les algorithmes afin de réussir les entretiens techniques.

Algorithmes, IIT Bombay

  • edX
  • 6 semaines, 6-8 heures / semaine
  • Prérequis : Compréhension de base des structures de données
  • Certificat vérifié : 149 $ ; Aucun certificat : GRATUIT

Ce cours fait partie du programme IIT Bombay Fundamentals of Computer Science XSeries. Les sujets abordés ici incluent le tri et la recherche, les algorithmes de nombres, les algorithmes de chaînes, les algorithmes géométriques et les algorithmes graphiques.

Cours gratuits sur les algorithmes

Introduction aux algorithmes

  • Udacity
  • Californie. 4 mois, autodidacte
  • Prérequis : au moins un langage de programmation ; Le cours utilise Python dans les exemples
  • GRATUIT

Il s`agit d`un cours accéléré gratuit sur les algorithmes par Michael Littman d`Udacity. Utilisez les six degrés du phénomène de Kevin Bacon pour montrer comment fonctionnent les algorithmes. Pensez aux six degrés de séparation - il a été dit qu`il y a six liens sociaux ou moins les uns des autres. Utilisez le même concept mais avec les films et les acteurs de Kevin Bacon.

FreeCodeCamp, script d`algorithme de base

  • FreeCodeCamp
  • Autoformation
  • Prérequis : connaissance de base de JavaScript et des données
  • GRATUIT

Cette série d`exercices FreeCodeCamp vous aidera à réussir en résolvant de petits problèmes avant de passer aux plus difficiles. Les exercices à votre rythme utilisent la plateforme d`apprentissage FreeCodeCamp pour tester votre code.

A introduction visuelle aux algorithmes < / a>

  • Pédagogique
  • Autoformation, principalement basée sur du texte et des exemples
  • Prérequis : JavaScript, Python, C ++ ou Java
  • GRATUIT

Dans ce cours gratuit, des aides visuelles et vidéo sont utilisées pour illustrer le fonctionnement des algorithmes. Les environnements de code intégrés rendent l`expérience utilisateur assez bonne. Des solutions potentielles sont incluses.

Livres d`algorithmes

Il existe plusieurs livres pour vous aider dans votre cheminement pour devenir un meilleur rédacteur d`algorithmes. Beaucoup d`entre eux sont disponibles dans une librairie locale et sur Amazon.

`Algorithmes de Grokking`

` Un guide illustré pour les programmeurs et les curieux `

Par Aditya Bhargava

Couverture des algorithmes Grokking

Grokking Algorithms est l`un des meilleurs livres sur les algorithmes imprimés. Créé par un artiste devenu développeur de logiciels, Bhargava adopte une approche illustrée pour vous aider à comprendre ou à utiliser intuitivement des algorithmes. Les exercices à la fin de chaque chapitre permettent de consolider le contenu du livre.

`Algorithms in a Nutshell , 2e éd. `

`Un guide pratique`

Par George T. Heineman, Gary inch, Stanley Selkow

 Les algorithmes en bref Couverture de

Ce livre adopte une approche de conception basée sur des modèles pour apprendre quand implémenter des algorithmes extraits. Vous apprendrez à coder les solutions puis à les améliorer à l`aide de structures de données avancées. Les solutions sont en Ruby, Java, C++ et C, mais sont facilement traduisibles dans vos langages favoris.

`Algorithmes, 4e éd. `

Par Robert Sedgwick et Kevin Wayne

 couverture quatrième édition Algorithmes

La quatrième édition des algorithmes de Sedgewick et Wayne est une fantastique introduction au monde des algorithmes. Les auteurs passent en revue plus de 50 des algorithmes les plus importants pour vous faire remarquer. Les éducateurs de Princeton ont développé un en ligne cours qui complète bien ce texte.

Ressource

Comment S'Améliorer Avec Les Algorithmes Javascript JavaScript: Questions

Shop

Best Python online courses for 2022

$

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

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