Algorithmique et programmation en Java - 3e éd.

De
Publié par

Cet ouvrage est une introduction à l'algorithmique et à la programmation impérative et orientée objets. L'auteur met l'accent sur les notions de validité et de fiabilité en s'appuyant sur des notations formelles. Tous les algorithmes et les structures de données sont traduits et présentés en Java. 
La grande originalité de ce cours est d'adopter un déroulé très classique, ce qui permet à un enseignant ayant utilisé jusqu'ici le Pascal ou le C de "basculer" sans douleur vers Java.
Cette troisième édition rend compte des évolutions récentes du langage Java.
Publié le : mercredi 7 avril 2010
Lecture(s) : 138
Licence : Tous droits réservés
EAN13 : 9782100553228
Nombre de pages : 416
Voir plus Voir moins
Cette publication est uniquement disponible à l'achat
Avantpropos
Depuis la première édition de ce livre, septembre 2000, voilà 10 ans, le langage JAVAa évolué sur de nombreux points. En particulier, sa version 5.0, sortie en septembre 2004, a introduit dans le langage, entre autres, les notions très importantes degénéricité, de boucle généraleforeach, d’énumération ou encore d’autoboxing. Cette troisième édition d’« Algo rithmique et Programmation en Java » a été entièrement révisée pour donner au lecteur de nouvelles mises en œuvre des types abstraits et des algorithmes utilisant les nouvelles pro priétés du langage JAVAjusqu’à sa version 6. Par ailleurs, des corrections, des modifications et des ajouts de nouveaux algorithmes, notamment dans le chapitre « Algorithmes sur les graphes », ont été également apportés à cette troisième édition. D’autre part, l’adresse du site WEBdu livre a changé. Le lecteur pourra trouver à cette nouvelle adresse des corrigés d’exercice, des applets et le paquetagealgo.javaqui contient les classes JAVAd’implémentation de tous les types abstraits présentés dans le livre. elec.polytech.unice.fr/~vg/fr/livres/algojava Je tiens remercier tout particulièrement Carine Fédèle qui, une fois encore, a relu de façon attentive cet ouvrage pour y traquer les dernières erreurs et me faire part de ses remarques toujours constructives. Enfin, je remercie toute l’équipe Dunod, Carole Trochu, JeanLuc Blanc, et Romain Hen nion, pour leur aide précieuse et leurs conseils avisés qu’ils ont apportés aux trois éditions de cet ouvrage ces dix dernières années. Sophia Antipolis, février 2010. La seconde édition de cet ouvrage m’a donné l’occasion de compléter un de ses chapitres, d’en ajouter un autre et de corriger des erreurs. Une section sur les arbres équilibrés, qui man quait au chapitre 20 consacré aux tables, a été introduite. Elle traite les arbres AVL, 234 et bicolores et présente les algorithmes d’ajout et de suppression, ainsi que leur programmation en JAVA(rarement publiée dans la littérature). Par ailleurs, certains lecteurs regrettaient l’ab sence d’un chapitre sur les interfaces graphiques. Le chapitre 25 comble cette lacune. Enfin,
XVI
Algorithmique et programmation en Java
de nombreuses, mais légères, retouches (corrections de coquilles, clarification du texte,etc.) ont été également apportées à ce livre. Sophia Antipolis, mars 2004. L’informatique est une science mais aussi une technologie et un ensemble d’outils. Ces trois composantes ne doivent pas être confondues, et l’enseignement de l’informatique ne doit pas être réduit au seul apprentissage des logiciels. Ainsi, l’activité de programmation ne doit pas se confondre avec l’étude d’un langage de programmation particulier. Même si l’importance de ce dernier ne doit pas être sousestimée, il demeure un simple outil de mise en œuvre de concepts algorithmiques et de programmation généraux et fondamentaux. L’objectif de cet ouvrage est d’enseigner au lecteur des méthodes et des outils de construction de programmes informatiques valides et fiables. L’étude de l’algorithmique et de la programmation est un des piliers fondamentaux sur lesquels repose l’enseignement de l’informatique. Ce livre s’adresse principalement aux étu diants des cycles informatiques et élèves ingénieurs informaticiens, mais aussi à tous ceux qui ne se destinent pas à la carrière informatique mais qui seront certainement confrontés au développement de programmes informatiques au cours de leur scolarité ou dans leur vie professionnelle. Ce livre correspond au cours d’algorithmique et de programmation qui s’étend sur les deux premières années du premier cycle d’ingénieur de l’ESINSA, École Supérieure d’Ingénieurs de l’université de NiceSophia Antipolis. Les quinze premiers chapitres sont le cours de première année. Ils présentent les concepts de base de la programmation impérative, en s’appuyant sur une méthodologie objet. Ils mettent en particulier l’accent sur la notion de preuve des programmes grâce à la notion d’affirmations (antécédent, conséquent, invariant) dont la vérification formelle garantit la va lidité de programmes. Ils introduisent aussi la notion de complexité des algorithmes pour évaluer leur performance. Les dix derniers chapitres correspondent au cours de deuxième année. Ils étudient en détail les structures de données abstraites classiques et un certain nombre d’algorithmes fondamen taux que tout étudiant en informatique doit connaître et maîtriser. La présentation des concepts de programmation cherche à être indépendante, autant que faire se peut, d’un langage de programmation particulier. Les algorithmes seront décrits dans une notation algorithmique épurée. Pour des raisons pédagogiques, il a toutefois bien fallu faire le choix d’un langage pour programmer les structures de données et les algorithmes présentés dans cet ouvrage. Ce choix s’est porté sur le langage à objets JAVA[GJS96], non pas par effet de mode, mais plutôt pour les qualités de ce langage, malgré quelques défauts. Ses qualités sont en particulier sa relative simplicité pour la mise en œuvre des algorithmes, un large champ d’application et sa grande disponibilité sur des environnements variés. Ce dernier point est en effet important ; le lecteur doit pouvoir disposer facilement d’un compi lateur et d’un interprète afin de résoudre les exercices proposés à la fin des chapitres. Pour les défauts, on peut par exemple regretter l’absence de l’héritage multiple et de la généricité, et la présence de constructions archaïques héritées du langage C. Ce livre n’est pas un ou vrage d’apprentissage du langage JAVA. Même si les éléments du langage nécessaires à la mise en œuvre des notions d’algorithmique et de programmation ont été introduits, ce livre n’enseignera pas au lecteur les finesses et les arcanes de JAVA, pas plus qu’il ne décrira les
Avantpropos
XVII
nombreuses classes de l’API. Le lecteur intéressé pourra se reporter aux très nombreux ou vrages qui décrivent le langage en détail, comme par exemple [Bro99, Ska00, Eck00]. Les corrigés de la plupart des exercices, ainsi que des applets qui proposent une vision graphique de certains programmes présentés dans l’ouvrage sont accessibles sur le site WEB de l’auteur à l’adresse : elec.polytech.unice.fr/~vg/fr/livres/algojava Ce livre doit beaucoup à de nombreuses personnes. Tout d’abord, aux auteurs des algo rithmes et des techniques de programmation qu’il présente. Il n’est pas possible de les citer tous ici, mais les références à leurs principaux textes sont dans la bibliographie. À Olivier Lecarme et JeanClaude Boussard, mes professeurs à l’université de Nice qui m’ont enseigné cette discipline au début des années 80. Je tiens tout particulièrement à remercier ce dernier qui fut le tout premier lecteur attentif de cet ouvrage alors qu’il n’était encore qu’une ébauche, et qui m’a encouragé à poursuivre sa rédaction. À Johan Montagnat, qui est à l’origine de plu sieurs exercices de fin de chapitre. À Carine Fédèle qui a bien voulu lire et corriger ce texte à de nombreuses reprises ; qu’elle en soit spécialement remercier. Enfin, à mes collègues et mes étudiants qui m’ont aidé et soutenu dans cette tâche ardue qu’est la rédaction d’un livre.
Sophia Antipolis, juin 2000.
Soyez le premier à déposer un commentaire !

17/1000 caractères maximum.