Algorithmes de tri, complexité et recherche dichotomique
Les algorithmes de tri sont des algorithmes qui permettent de trier des données. Ils sont très utilisés en informatique, et il en existe de nombreux. Dans ce cours, nous allons voir les plus connus pour comprendre leur fonctionnement et leur intérêt.
Allouer et manipuler la mémoire
Jusque là nous avons manipulé des variables et tableaux sans nous soucier vraiment de ce qu'il se passe sous le capot. Il est grand temps de comprendre un peu plus dans le détail ce qu'il se passe et comment est allouée la mémoire en C++.
Arbres binaires
Dans ce chapitre nous allons découvrir une nouvelle structure de données: les arbres. Et plus particulièrement les arbres binaires.
CMake
CMake est un outil additionnel permettant de gérer la compilation d'un projet.
Compilation et Headers: Séparer en plusieurs fichiers
Maintenant que l'on sait découper notre code en fonctions il va aussi être intéressant de le découper en plusieurs fichiers. Cela va permettre de regrouper des fonctionnalités et mieux organiser un projet.
Comprendre le mot clé this
Revenons sur le mot clé this en C++.
Compression et encodage de données
La compression de données est un domaine très vaste et très important en informatique. Il existe de nombreuses techniques de compression, qui sont utilisées dans de nombreux domaines : compression d'images, compression de vidéos, compression de fichiers, etc.
Déboguer son code
Vous avez déjà dû rencontrer des bugs dans vos programmes, et vous avez sûrement dû utiliser des std::cout pour essayer de comprendre ce qu'il se passait.
Déduction de type et bibliothèque standard
La STL (Standard Template Library) est une bibliothèque standard de la norme C++ qui fournit de nombreuses fonctionnalités déjà implémentées pour faciliter le développement. Vous pouvez retrouver la documentation de la STL sur le site cppreference.com.
Des conditions et des boucles
On sait maintenant comment stocker des valeurs dans des variables et comment les manipuler avec des opérations mathématiques. Mais il est temps de voir comment on peut contrôler l'exécution de notre programme en fonction de conditions et de répéter des instructions plusieurs fois.
Des tableaux
Nous avons vu les variables pour stocker des valeurs, les boucles pour simplifier le code et faire des itérations et il est maintenant légitime de se demander comment manipuler un nombre plus important de variables.
Fonctions : Découper son code
J'ai évoqué rapidement le terme de fonctions et de méthodes lors du précédent chapitre sur les tableaux, parlons en plus en détails.
Graphes
En informatique, il existe une grande famille de structures de données appelée graphes. C'est un outil très puissant qui permet de modéliser des problèmes très variés. Dans cette leçon, nous allons voir comment représenter un graphe en mémoire et comment parcourir un graphe.
Hash et tableaux associatifs
Admettons que l'on veuille trouver le nom du jour de la semaine correspondant à un numéro de jour donné. On peut utiliser un tableau pour stocker les noms des jours de la semaine et accéder au nom du jour de la semaine correspondant à un numéro de jour donné en utilisant ce numéro comme indice du tableau.
Installer le compilateur
Dans le cas de Windows, nous installerons le compilateur GCC grace au projet Winlibs.
Mise en place des outils
- Comme expliqué précédemment le C++ est un langage compilé et il va donc falloir installer un compilateur.
Premier programme
C'est maintenant le moment de compiler votre premier programme !
Retours Généraux
Caractères et ASCII
Sémantique et opérateurs
Nous avons appris au semestre 1 à définir des structures. Cela permet de regrouper des données qui ont un lien entre elles. Par exemple, on peut créer une structure Point qui contient les coordonnées d'un point dans un plan.
Structure: organiser nos données
En C++, on a parlé de structure de données avec les tableaux. Il est également possible de créer notre propre structure de données en regroupant plusieurs variables en un seul bloc appelé "structure" (ou "struct").
Structures de données
Piles et files (LIFO, FIFO)
Un monde de variables
Maintenant que l'on sait exécuter notre premier programme il est temps de découvrir ce que l'on va pouvoir manipuler en C++.
Utiliser des bibliothèques en C++
Une des grandes forces de C++ est la possibilité d'utiliser des bibliothèques. Une bibliothèque est un ensemble de fonctions et de classes qui permettent de réaliser des tâches spécifiques. Il existe des bibliothèques pour à peu près tout : afficher des images, jouer des sons, faire des calculs mathématiques, etc.