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 :

Matrices sous forme de tableaux à une dimension - Décallage variable


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 116
    Par défaut Matrices sous forme de tableaux à une dimension - Décallage variable
    Bonjour, j'ai un problème qui peux paraître tout bête mais qui me prend le chou depuis une journée et demi....

    Le problème est simple :
    J'ai une matrice schématisée sous forme d'un tableau à une seule dimension
    Donc la matrice :
    1 2 3
    4 5 6
    7 8 9

    Est en mémoire sous la forme 1 2 3 4 5 6 7 8 9

    Je souhaite ajouter une colonne
    la mémoire alloué est donc à la fin, nous avons donc

    1 2 3 4 5 6 7 8 9 0 0 0
    Soit
    1 2 3 4
    5 6 7 8
    9 0 0 0

    Il me faut donc décaller pour retomber sur mes pieds.

    Le problème c'est que le décallage est variable...

    C'est à dire qu'il faut décaller 9 de 2 crans vers la droite, la ligne du dessus de 1, et pas celle d'au dessus.

    Comment faire afin d'avoir
    1 2 3 0
    4 5 6 0
    7 8 9 0

    Merci de m'aider, je coince complétement....

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Par défaut
    Ne pas mettre les zéros à la fin mais sur toutes les positions multiples de 3.
    Mais si l'opération est fréquente, le mieux est de:
    • transposer
    • ajouter à la fin
    • transposer à nouveau

    Cela marche dans tous les cas de figure.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 116
    Par défaut
    Mais au niveau complexité y'a pas photo non ?
    Je suis en 2 * n^2 avec ta méthode ?

  4. #4
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    si tu souhaites avoir le meilleur gain en complexité, pourquoi ne pas allouer une nouvelle matrice à la bonne dimension, la remplir comme il se doit (O(N)) désallouer l'ancienne et pointer vers la nouvelle ?
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 116
    Par défaut
    Parce que j'ai des très grosses matrices, je ne peux pas me permettre d'avoir deux fois la matrice en mémoire...

    A la base je le faisais avec des memmoves mais j'ai des bugs......
    Mon but c'est d'avoir des perfs, car l'opération peux être effectués de très nombreuses fois. (c'est principalement une phase d'initialisation).


    Mais à défaut, la méthode proposé est très simple à mettre en place

  6. #6
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Bonjour Plorf,

    des petites questions pour affiner le problème :
    L'ajout de colonne est toujours à droite ? ou elle peut se faire à n'importe quelle position ?
    Est-ce qu'il y aussi besoin d'ajouter des lignes ?

    Suivant le cas, l'optimisation ne se fait pas de la même manière...

  7. #7
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Par défaut
    Citation Envoyé par Plorf Voir le message
    Parce que j'ai des très grosses matrices, je ne peux pas me permettre d'avoir deux fois la matrice en mémoire...
    Peux tu donner un ordre de grandeur ?
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

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

Discussions similaires

  1. Copier D'une Matrice(sous form de text box)
    Par ClubberGuy dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 22/05/2011, 21h33
  2. Mettre une matrice sous forme d'une colonne unique
    Par mfontan dans le forum MATLAB
    Réponses: 2
    Dernier message: 26/09/2008, 14h32
  3. [MySQL] données sous forme de tableaux en php
    Par brindherbe86 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/03/2008, 14h49
  4. Actualiser sous-form à partir d'une zone de liste
    Par louroulou dans le forum IHM
    Réponses: 3
    Dernier message: 29/08/2007, 23h12

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