Cours "Algorithmes et structures de données" - cours 71 000 roubles. de l'atelier Yandex, formation 4 mois, Date: 5 décembre 2023.
Miscellanea / / November 29, 2023
À qui s’adresse le cours ?
Pour ceux qui maîtrisent l’un des langages de programmation: C++, Python, Java, Go, JavaScript ou C#.
- Apprenez à écrire du code propre plus rapidement
- Préparez-vous aux entretiens algorithmiques
- Vous aurez un entretien d'essai avec un mentor.
- Maîtrisez les algorithmes et les structures de données à partir de zéro
- Résolvez plus de 100 problèmes pratiques
- Vous pouvez apprendre plus rapidement que le programme et à tout moment qui vous convient
Qu'allez-vous maîtriser en 4 mois ?
- Comprendre les algorithmes de base
- Découvrez comment fonctionnent les structures de données et quand utiliser lesquelles.
- Apprenez à tester votre code et à prouver son exactitude
Le programme du cours comprend une préparation aux entretiens algorithmiques et à un entretien d'essai avec un mentor - une pratique utile pour ceux qui envisagent de changer d'emploi
Ce cours peut être payé par votre employeur. Si la connaissance du cours vous sera utile dans votre emploi actuel, discutez avec votre responsable du paiement partiel ou total de vos études.
Quoi d'autre est important
Congé académique
Si les circonstances de la vie se compliquent ou si le rythme de vos études doit être ralenti, vous pouvez partir en congé académique.
Nous vous rembourserons votre argent à tout moment
Vous pouvez être remboursé pour le temps de formation restant: vous n’avez rien à prouver pour cela
Vous pouvez étudier à votre rythme
Le cours est conçu pour 4 mois avec une charge d'environ 10 heures par semaine, mais vous pouvez le terminer plus rapidement - de nouvelles leçons s'ouvriront immédiatement après la fin de la pratique.
Nous n'enseignons pas la programmation à partir de zéro
Pour suivre le cours, vous devez maîtriser l'un des langages de programmation: C++, Python, Java, Go, JavaScript ou C#.
Partie gratuite
(module d'introduction 7 heures)
Le concept d'un algorithme. Moyenne mobile. La méthode à deux pointeurs.
Introduction aux algorithmes
Le concept de complexité algorithmique. Notation O. Estimation du temps d'exécution du programme.
Structures de données de base
Tableau, liste chaînée, pile, file d'attente. Complexité des opérations d'insertion, de recherche et de suppression. Représentation des données en mémoire. Complexité spatiale de l'algorithme.
Récursivité et tri
Récursivité
Le concept de récursion. Le principe « diviser pour mieux régner ». Recherche binaire.
Tri
Sortes quadratiques. Tri par fusion. Tri rapide. Tri par comptage linéaire.
Fonctions de hachage et tables de hachage
Afficher l’abstraction. Concept et propriétés d'une fonction de hachage, exemples. La structure des données est une table de hachage. Collisions et moyens de les résoudre.
Des arbres
Structure de données arborescente. Arbres de recherche équilibrés. La structure des données est un tas. Tri pyramidal.
Graphiques
Définition d'un graphe, méthodes de représentation en mémoire. Parcours graphique en profondeur et en largeur. Composants de connectivité. Algorithmes pour trouver le chemin le plus court. Arbre couvrant minimum.
Algorithmes gourmands et programmation dynamique
Programmation dynamique
Définition, problèmes unidimensionnels et bidimensionnels. Programmation dynamique par sous-segments. Programmation dynamique par sous-ensembles.
Algorithmes gourmands
Le concept d'un algorithme glouton, portée. Exemples, preuve de l'exactitude de l'algorithme.
Entretien algorithmique d'essai
Entretien algorithmique individuel avec un mentor, au plus près du réel. À la fin, le mentor donnera son avis.
Algorithmes sur chaînes
Fonction préfixe. Sous-chaînes, préfixes et suffixes. Recherchez un modèle dans une chaîne. Algorithme naïf. Structure de données Bor.