ISBN 9782322469840 596 pages FORMAT 17x22 cm Prix Public TTC 40.90 €

En librairie

Structures de données avec C# et Visual Studio 2022

Ce guide pratique est basé sur les connaissances essentielles que j'enseigne aux étudiants en université, notamment pour les classes du DUT Informatique, de la Licence Informatique, pour les classes préparatoires dans les filières MPSI et pour l'ENSC (École Nationale Supérieure de Cognitique), lors de leur cursus dans le domaine de la programmation.

La programmation des logiciels est très complexe de nos jours et elle ne peut se faire qu’avec beaucoup de pratique. L’apprentissage des concepts par la théorie représente une phase obligatoire. Néanmoins, si ces concepts ne sont pas exploités en pratique, quel que soit le langage informatique employé, la progression en programmation s’en trouve alors fortement ralentie. L’informatique étant à la fois une science, une technologie et un ensemble d’outils, ces trois composantes permettent l’apprentissage de la programmation logicielle.

Les structures de données sont un des piliers fondamentaux sur lesquels repose l’enseignement de l’informatique. Elles modélisent au mieux les informations à traiter pour en faciliter le traitement par l’algorithme considéré. S’il est important d’apprendre et de comprendre les structures de données de façon théorique, il est très important de mettre en œuvre ces structures de données par des exemples pratiques lors de l’apprentissage de la programmation logicielle.

De nos jours, les ordinateurs sont très puissants, capables d’effectuer de nombreux calculs simultanément, et ils sont dotés d’une quantité de mémoire assez importante. Malgré cela, deux préoccupations principales interviendront dans le choix des structures de données: la place qu’elles consomment dans la mémoire de l’ordinateur et la facilité qu’elles offrent quand on cherche à accéder à une certaine donnée. Même si les structures de données sont définies indépendamment du langage de programmation, leur mise en pratique avec un langage de programmation évolué (C#, C++, Java, Python) permettra de mieux les comprendre, de mieux les appréhender, de mieux les utiliser, et de mieux en apprécier leur utilité et leur performance.

Ce livre a pour objectif de proposer une approche pédagogique pour l'apprentissage des structures de données par la programmation au travers d'un ensemble d'applications réalisées en langage C#10 avec WPF dans l'environnement de développement intégré de VISUAL STUDIO 2022.

L’objectif de ce livre est double : acquérir les connaissances concernant les structures de données, et les mettre en pratique en les programmant dans des applications WPF avec le langage C#10. Il s’agit d’une démarche d’apprentissage et pédagogique pour l’acquisition des notions et concepts.

La fiche F01 traite la notion de récursivité qui est une notion fondamentale en informatique et très utilisée en programmation pour améliorer la performance des algorithmes quand cela s’avère nécessaire. Certaines notions mathématiques sont des notions récursives comme la notion de factorielle, celle de la puissance de N, la suite de Fibonacci, etc. Le jeu des tours de Hanoï est typiquement un exemple récursif pour sa résolution.

La fiche F02 traite la structure de données qu’est la pile. Nous verrons son principe (du type dernier entré, premier sorti) et ses primitives de manipulation. La pile est très souvent employée dans les mécanismes de programmation, et notamment dans le traitement des équations qui sont lues à l’écran puis qui sont traitées pour obtenir un calcul numérique.

La fiche F03 traite la structure de données qu’est la file. Nous verrons son principe (du type premier entré, premier sorti) et ses primitives de manipulation. Le buffer des imprimantes est un des exemples typiques de l’utilisation des files.

La fiche F04 traite la structure de données qu’est la liste chaînée. Nous verrons son principe et ses primitives de manipulation. Elle est couramment employée dans la résolution des polynômes. La liste chaînée circulaire sera étudiée et mise en application avec le problème de Flavius Josèphe.

La fiche F05 traite la structure de données qu’est l’arbre. Il s’agit d’une structure arborescente qui permet de représenter l’information organisée de façon hiérarchique. Nous aborderons l’arbre multibranche, l’arbre binaire et l’arbre binaire de recherche.

La fiche F06 traite les méthodes pour trier et pour rechercher des données, méthodes qui sont importantes en informatique et régulièrement employées. Nous aborderons différentes façons de trier les données avec le tri par sélection, le tri par insertion, le tri à bulles, le tri Shell et le tri rapide. Et nous aborderons la recherche séquentielle et la recherche dichotomique.

La fiche F07 traite la structure de données qu’est la table. L’implémentation de la table avec ses clés et ses contenus associés est importante. Une application de type dictionnaire sera réalisée pour une mise en situation d’une table. Différentes sortes de tables seront expliquées avec notamment la table de hachage pour la recherche à adressage direct.

La fiche F08 traite la structure de données qu’est le graphe. Le graphe est une structure très générale dont le but est de représenter des données avec leurs relations. Le graphe est très utilisé dans le domaine de la cartographie pour lequel nous verrons l’implémentation de l’algorithme de Dijkstra pour la recherche du chemin le plus court entre deux positions choisies.

Ressources complémentaires

Consulter le sommaire détaillé du livre => en cliquant ici

Télécharger gratuitement le code source de programmation => en cliquant ici

Disponible dans les librairies en ligne

Fiche auteur chez Amazon France => par ici

Chez Amazon France => commander ici

Fiche auteur chez Books on Demand => par ici

Chez Books On Demand => commander ici

Fiche auteur chez Furet du Nord => par ici