IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Introduction aux algorithmes et aux structures de données


Sujet :

Algorithmes et structures de données

  1. #1
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 591
    Points
    188 591
    Par défaut Introduction aux algorithmes et aux structures de données
    En 1976, le livre Algorithms + Data Structures = Programs paraît : le postulat posé par ce titre est bien qu'un algorithme n'est rien s'il n'a pas de structure de données appropriée pour stocker ses données. On étudiera, dans cette introduction, tant les algorithmes principaux (tri, graphes – le bien connu Dijkstra mais aussi Bellman-Ford pour la recherche de plus court chemin) que des structures de données très fréquentes sur lesquelles viennent se construire des solutions élaborées à des problèmes complexes (pile, file, dictionnaire, etc.). De même, puisqu'étudier un algorithme ne permet pas de résoudre tous les problèmes, on envisagera quelques techniques fréquentes pour en trouver (chaque technique ayant ses spécificités et sa manière de vivre : certaines sont applicables partout mais avec des temps d'exécution importants, d'autres seront plus rapides mais demanderont un temps d'apprentissage plus élevé ainsi que certaines caractéristiques pour le problème).

    On n'utilisera à cette fin aucun langage de programmation précis, plutôt du pseudocode, afin de se focaliser sur les algorithmes, non sur leur implémentation. On développera des outils d'analyse de ces algorithmes (complexité et correction) pour les appliquer dans les parties suivantes.

    On suppose que le lecteur a déjà des connaissances en programmation de base (algorithmes et structures de données de base – liste liée, liste doublement liée, tableau, etc.) et souhaite découvrir plus d'algorithmes et de structures de données avec une approche plus théorique que pratique – seul du pseudocode anglais sera présenté.

    Introduction aux algorithmes et aux structures de données
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  2. #2
    Membre émérite
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Points : 2 464
    Points
    2 464
    Par défaut
    Super

    Juste une petite remarque après un survol très rapide, tu pourrais probablement rajouter la complexité spatiale au chapitre "II. Outils d'analyse des algorithmes".

  3. #3
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut Excellent
    Excellente introduction
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  4. #4
    Membre régulier Avatar de fanick
    Profil pro
    Responsable informatique
    Inscrit en
    Juin 2003
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Bénin

    Informations professionnelles :
    Activité : Responsable informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 56
    Points : 111
    Points
    111
    Par défaut Tres utile
    Merci.

    Cela dit, j'ai un "550 No such file." à la tentative d'ouverture du PDF...
    Si vous vous endormez en pensant qu'une chose est impossible à réaliser, vous risquez d'être réveillé par le bruit que fait quelqu'un d'autre en la réalisant.

  5. #5
    Membre émérite
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Points : 2 464
    Points
    2 464

  6. #6
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 591
    Points
    188 591
    Par défaut
    Citation Envoyé par Franck Dernoncourt Voir le message
    Juste une petite remarque après un survol très rapide, tu pourrais probablement rajouter la complexité spatiale au chapitre "II. Outils d'analyse des algorithmes".
    J'y penserai pour une prochaine mise à jour . (Et pourquoi pas ajouter quelques structures de données au passage ? D'autres arbres équilibrés, la skip list ?)

    Citation Envoyé par fanick Voir le message
    Cela dit, j'ai un "550 No such file." à la tentative d'ouverture du PDF...
    Corrigé .
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  7. #7
    Expert éminent sénior

    Avatar de snake264
    Homme Profil pro
    Datascientist chez Leboncoin
    Inscrit en
    Novembre 2006
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Datascientist chez Leboncoin
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 914
    Points : 13 312
    Points
    13 312
    Par défaut
    Je viens de finir ton tuto, c'est une excellente intro

    La seule critique que j'aurai c'est que pour moi la partie complexité est passée beaucoup trop rapidement. L'étoffer serait une bonne idée.

    Pour ta mise à jour (si il y en a une de prévu) après les graphes, un chapitre sur les flots et un sur la programmation linéaire, qui sont aussi deux sous-domaine de l'algorithmique extrêmement utilisés et vraiment très intéressant. Ce sera par exemple l'occasion de parler de NP-Completude et d'algorithmes d'approximations.

    Je pourrai t'aider à les écrire si tu veux
    Vous pouvez aller voir mes tutos et mes critiques: ici
    Ainsi que mon: blog

    Je ne répondrai à aucune question technique par MP les forums sont présents pour ça

    c'est très intelligent un ordinateur: "Keyboard ERROR. No keyboard Connected. Press any key to continue..."

  8. #8
    Membre émérite
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Points : 2 464
    Points
    2 464
    Par défaut
    A ce rythme vous allez reparcourir le CLRS

  9. #9
    Membre émérite
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Points : 2 464
    Points
    2 464
    Par défaut
    Citation Envoyé par Franck Dernoncourt Voir le message
    A ce rythme vous allez reparcourir le CLRS
    Je me rends compte d'ailleurs qu'il y a déjà le C avec Thibaut

  10. #10
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 591
    Points
    188 591
    Par défaut
    Citation Envoyé par snake264 Voir le message
    La seule critique que j'aurai c'est que pour moi la partie complexité est passée beaucoup trop rapidement. L'étoffer serait une bonne idée.
    Qu'y ajouterais-tu ? (Quelques exemples, peut-être ?)

    Citation Envoyé par snake264 Voir le message
    Je pourrai t'aider à les écrire si tu veux
    Aucun problème !

    Citation Envoyé par Franck Dernoncourt Voir le message
    Je me rends compte d'ailleurs qu'il y a déjà le C avec Thibaut
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  11. #11
    Expert éminent sénior

    Avatar de snake264
    Homme Profil pro
    Datascientist chez Leboncoin
    Inscrit en
    Novembre 2006
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Datascientist chez Leboncoin
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 914
    Points : 13 312
    Points
    13 312
    Par défaut
    Citation Envoyé par dourouc05 Voir le message
    Qu'y ajouterais-tu ? (Quelques exemples, peut-être ?)
    Idées dans le désordre :

    • définition et exemple d'une explosion combinatoire
    • énonciations des différents types problèmes existants (décision ou optimisation)
    • NP-Completude
    • algo pseudo polynomiaux

    Le tout agrémenté d'un exemple, le premier qui me vient en tête étant la recherche d'un stable maximum, avec énonciation du problème, donner l'algo gde brute force pour la résolution du problème, ensuite voir les différentes étapes d'amélioration, jusqu'au moment ou on arrive à un moment ou on ne peut plus améliorer et expliquer pourquoi.


    C'est juste des idées comme ça mises en vrac, donc après c'est à toi de voir si ça t'intéresse
    Vous pouvez aller voir mes tutos et mes critiques: ici
    Ainsi que mon: blog

    Je ne répondrai à aucune question technique par MP les forums sont présents pour ça

    c'est très intelligent un ordinateur: "Keyboard ERROR. No keyboard Connected. Press any key to continue..."

  12. #12
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 591
    Points
    188 591
    Par défaut
    Pourquoi pas, en effet ; je garde ça de côté .
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

Discussions similaires

  1. L'accès aux éléments d'une structure de données
    Par Imene MI dans le forum Débuter
    Réponses: 3
    Dernier message: 06/03/2015, 17h17
  2. Appliquer l'algorithme TDMA aux équations à 3D
    Par solo12 dans le forum Fortran
    Réponses: 2
    Dernier message: 19/12/2007, 22h57
  3. Accès aux éléments d'une structure
    Par licorne dans le forum Pascal
    Réponses: 1
    Dernier message: 15/02/2007, 17h44
  4. Réponses: 3
    Dernier message: 30/05/2006, 19h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo