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 :

Structure de données


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Seabirds
    Homme Profil pro
    Post-doctoral fellow
    Inscrit en
    Avril 2015
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Post-doctoral fellow
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2015
    Messages : 294
    Par défaut Structure de données
    Bonjour à toutes et à tous !

    J'ai besoin de manipuler une structure de données qui a cette forme :
    Chaque ligne représente un individu récolté à une coordonnée pas forcément unique dans le jeu de données. Pour chaque individu on a une valeur associée à l'allèle A1 (ou A2) d'un locus ( = un point du génome) auquel est attribué un joli nom (locus DJRD456 par exemple). Taille actuelle : 300 ind x 20 locus x 2 alleles

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ------------------------------------------------------------------------------
    ____|   coords   |        nom locus 1  ||   nom locus 2     ||     ... 
    ____|___________|       A1       A2   ||       A1      A2   ||     ... 
    -------------------------------------------------------------------------------
    1     | (44 ; 1.5)   |    123   154    ||    211   456    ||     ...
    2     | (44 ; 1.5)   |    211   456    ||    123   211    ||     ...
    3     | (39 ; 3.5)   |    434   111    ||    434   154    ||     ...
    J'ai bien fait un truc qui marche (mais crado, trop compliqué, très certainement pas du tout efficace, un peu comme mon tableau ci-dessus ) et évidemment je galère à lui filer une interface sympatoche.
    Je suis très mauvais dans la manipulation des structures de données. Quels réflexes vous viennent ici spontanément à l'esprit ?
    En vous remerciant,

  2. #2
    Membre actif Avatar de Abacar94
    Homme Profil pro
    L2 Math-informatique
    Inscrit en
    Novembre 2015
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : L2 Math-informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 103
    Par défaut
    Citation Envoyé par Seabirds Voir le message
    Bonjour à toutes et à tous !
    Taille actuelle : 300 ind x 20 locus x 2 alleles
    Avant de commencer un travail tu doit te fixer certains principes.....tu veux faire une allocation statique ou dynamique ?

  3. #3
    Membre éclairé Avatar de Seabirds
    Homme Profil pro
    Post-doctoral fellow
    Inscrit en
    Avril 2015
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Post-doctoral fellow
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2015
    Messages : 294
    Par défaut
    Merci de ta réponse
    Donc ça c'est la première question qu'on doit se poser. C'est noté.

    Pour l'instant le chemin d'accès au fichier est connu à la compilation et l'objet est créé sur la pile. Mais je ne sais pas si c'est la meilleure alternative.

    Cette donnée est une variable du programme, j'imagine que c'est synonyme de "non-connue à la compilation"
    Cela dit le temps de compilation est très faible devant le temps d'exécution, alors je ne sais pas à quel point il serait idiot de recompiler le programme pour chaque jeu de donnée à traiter.

    A quel point ça ne répond pas à ta question ?

  4. #4
    Membre actif Avatar de Abacar94
    Homme Profil pro
    L2 Math-informatique
    Inscrit en
    Novembre 2015
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : L2 Math-informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 103
    Par défaut
    Ce que je voulait de demander quel allocation veut tu faire ?
    1. Pour l'allocation statique: C'est la plus facile, on doit connaitre au préalable le nombre d’individu,de locus et d’allèle....mais elle a des inconvénient une fois qu'on fixe le nombre on ne peut plus changer
    2. Pour l'allocation dynamique: c'est la plus difficile par ce qu'on doit utiliser des pointeur dans nôtres structure mais son avantage est qu'on ne fixe pas le nombres le nombre d’individu,de locus et d’allèle on insert seulement les donnée.....on peut a chaque fois ajouter d'autres données ou même en supprimer

  5. #5
    Membre éclairé Avatar de Seabirds
    Homme Profil pro
    Post-doctoral fellow
    Inscrit en
    Avril 2015
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Post-doctoral fellow
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2015
    Messages : 294
    Par défaut
    D'accord. Alors si je comprends bien l'allocation statique est suffisante, parce que le nombre d'individus, de loci et d'allèles sont fixés par le fichier, et que le programme n'a pas vocation à rajouter/enlever des individus ou des allèles.
    Par contre on doit pouvoir dupliquer le jeu de données et modifier les valeurs des allèles du jeu dupliqué, c'est faisable avec l'allocation statique ?

    Je réponds encore à côté ?

  6. #6
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 766
    Par défaut
    C'est la différence entre Ma_Struct tab[XXX]; et Ma_Struct* tab = NULL;.

    Mais si tu veux dupliquer bien tu fais ... 2 variables locales - statiques ou pas tab_ori et tab

  7. #7
    Membre actif Avatar de Abacar94
    Homme Profil pro
    L2 Math-informatique
    Inscrit en
    Novembre 2015
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : L2 Math-informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 103
    Par défaut
    Citation Envoyé par Seabirds Voir le message
    Par contre on doit pouvoir dupliquer le jeu de données et modifier les valeurs des allèles du jeu dupliqué, c'est faisable avec l'allocation statique ?
    Je réponds encore à côté ?
    Ta parfaitement compris ce que je veut dire......et aussi tu peut dupliquer le jeu de données et modifier les valeurs des allèles du jeu dupliqué, c'est faisable avec l'allocation statique

  8. #8
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 760
    Par défaut
    Allocation dynamique ou non n'est que le résultat d'une contrainte. Je trouve le raisonnement taille variable = allocation, taille fixe = allocation statique plutôt très restrictive.

    Avant toutes choses, il faut déterminer quelles seront les contraintes d'entrée et de sortie.

    - La manière d'utiliser les données (grossièrement les algorithmes en jeux. Cette partie influence énormément l'interface)
    - la plage de valeur ou valeur possible des données
    - leur nombre: pré-définit, calculé/déduit, variable, limité
    - les contraintes de temps et de mémoire.
    - etc

    Sinon, de façon naïve, les données sont des structures (locus, coord, ligne) et les données multiples des tableaux (vector ou array). En essayant toutefois de linéariser les vectors de vectors pour une question de vitesse d'accès. Mais ce n'est pas cela qui devrait changer l'interface.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment créer une structure de donnée dynamiquement ?
    Par Beaunico dans le forum Langage
    Réponses: 9
    Dernier message: 24/01/2006, 09h34
  2. Aide pour diagramme de structure des données
    Par DeezerD dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 04/12/2004, 19h10
  3. Méta-Programmation - [ structures de données ]
    Par Dam)rpgheaven dans le forum C++
    Réponses: 3
    Dernier message: 03/12/2004, 19h38
  4. Structure des données en retour d'un DBExtract ?
    Par mikouts dans le forum XMLRAD
    Réponses: 4
    Dernier message: 24/01/2003, 15h15
  5. Structure de données de type "RECORD"
    Par chaours dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/09/2002, 17h10

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