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

 C Discussion :

choix entre tableau dynamique et liste chainée


Sujet :

C

  1. #1
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Par défaut choix entre tableau dynamique et liste chainée
    Bonjour,

    -C'est mieux de charger des données dans un tableau dynamique ou dans une liste chainée pour après faire des opération de parcours, recherche, suppression, etc ?

    -Quel est le bon choix entre le tableau dynamique et la liste chainée pour avoir un temps de réponse rapide ? et pourquoi ?

    Merc

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2003
    Messages : 570
    Par défaut
    un tableau te donnera la possibilité d'accéder directement à une donnée via son indice. pour faire des tris, recherches, des ajouts à la fin ou des modifications des données, le tableau est nettement plus rapide et plus confortable.

    mais dés qu'on veut faire des insertions ou suppressions le tableau alourdira ton programme et ajoutera de la complexité à tes algo. l'utilisation d'une liste chainées sera préconisée au détriment d'un accès séquentiel aux données.

    le tableau dynamique nécessitera à chaque redimensionnement (par ajout suppression ou insertion) un appel à realloc, tandis que pour la liste chainée il suffit d'allouer la mémoire à l'élément qu'on voudra ajouté ou insérer et la libérer pour celui supprimé


    les deux présentent des défauts et des qualité il faudra choisir selon l'usage le plus fréquents de tes données

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Par défaut
    Bonjour,

    - Je voulais charger deux fichiers (chaque fichier contient une chaine de caractères) dans un tableau dynamique ou dans liste chainée.

    - Après le chargement, je parcoure la structure (tableau ou liste) de premier fichier et je compare chaque element de cette structure avec la deuxième structure (tableau ou liste) de deuxième fichier.

    - Le résultat de comparaison est enregistré dans une structure(tableau ou liste).

    - Je supprime de ce résultat les éléments qui ne vérifient pas quelque condition.

    - J'affiche le résultat final.

    Quelle structure adéquate dans mon cas à utiliser dont le but est moins couteuse en mémoire et plus rapide d'accès ?


    Merci.

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Citation Envoyé par nsanabi Voir le message
    le tableau dynamique nécessitera à chaque redimensionnement (par ajout suppression ou insertion) un appel à realloc
    Pas à chaque ajout ou suppression, car on peut réserver une taille plus grande que le tableau contient.
    Par contre, il reste la nécessité de décalage pour une insertion/suppression en milieu si l'ordre est important (si l'ordre n'est pas important, on peut toujours insérer à la fin et combler le "trou" d'une suppression en déplaçant le dernier élément).

    Aussi, un tableau trié permet une recherche dichotomique (fonction standard bsearch(), temps logarithmique), alors qu'une recherche dans liste chaînée est toujours en temps linéaire.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/07/2010, 15h43
  2. [AJAX] Tableau dynamique avec listes déroulantes
    Par arthuro45 dans le forum AJAX
    Réponses: 4
    Dernier message: 02/11/2009, 19h06
  3. Liste de choix dynamique dans tableau dynamique
    Par rvm31 dans le forum Langage
    Réponses: 4
    Dernier message: 13/05/2009, 17h14
  4. Choix entre tableau dynamique ou statique ?
    Par hebus44 dans le forum Débuter
    Réponses: 10
    Dernier message: 24/11/2008, 00h22
  5. Réponses: 18
    Dernier message: 06/07/2005, 14h58

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