begin process at 2012 05 28 08:22:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

choix du structure des données


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

choix du structure des données

dimanche 1 novembre 2009 à 16:13:32 | choix du structure des données

boualiasma

Bonjour,

Je vais refaire une grande partie de mon travail car j'ai mal choisi
les structures des données car les accès fichiers sont plus coûteux.
Tout mon travail se base sur les fichiers même les résultats
intermédiaires. Le but de mon travail est de trouver une solution à mon problème mais de plus minimiser le plus possible le temps
d'exécution (le mesure le temps en utilisant la fonction 'clock()'.

Mais, lorsque j'ai testé le temps de l'exécution concernant la comparaison de deux fichiers selon les critères bien définis alors
j'ai remarqué que le temps est devenir très longue si nous avons des fichiers avec des centaines lignes.

On va lire chaque ligne de fichier 1 et le compare avec tous les lignes de fichier 2. C'est très couteux.

D'après vous :
- Avec quelles structures des données ces deux fichiers seront
remplacés ?

- En général,quelle est la structure des données la moins couteuse en
mémoire et donc temps d'exécution le plus inférieur possible ?

Je souhaite que vous m'aidez.

Merci.
dimanche 1 novembre 2009 à 18:05:47 | Re : choix du structure des données

boualiasma

Bonjour,

Dans mon programme C, la fonction de comparaison est :
[code]*rets = compare_files("f.txt", "f2.txt");
[/code]

Je passe deux fichiers "f.txt" et "f2.txt" à la fonction 'compare_files'
la taille de "f.txt" est toujours plus grande que "f2.txt".
chaque ligne de deux fichiers contient une chaine de caractère.

Je cherche les lignes qui appartiennent à "f.txt" et non pas "f2.txt"
C'est une sorte de différence lignes de "f.txt" moins lignes de "f2.txt"
à condition:
Une ligne de "f.txt" est identique à une ligne de "f2.txt"
si les deux lignes ont la même valeur et le même nombre des mots qui forment les deux lignes quelque soit l'ordre des mots puisque l'ordre des mots n'est pas important dans mon problème.
le plus important c'est : la même valeur et le même nombre

Sinon c'est à dire les deux lignes n'ont pas la même valeur et le même nombre des mots alors dans ce cas les deux lignes sont différentes.

par exemple:
"nom prenom age" = "nom age prenom"


Sachant que chaque ligne du deux fichiers "f.txt" et "f2.txt" est composé d'un seul champ (une chaine de caractères)

Soit le premier fichier fichier "f.txt":
<citation>nom prenom
nom age
prenom age
prenom emploi
nom prenom age
nom emploi
age emploi
prenom age emploi
nom age emploi
nom prenom emploi
nom prenom age emploi
</citation>

Soit le deuxième fichier "f2.txt":
<citation>nom
prenom
age
emploi
age nom
nom age prenom
nom emploi
age emploi
prenom age emploi
nom prenom emploi</citation>


On applique le principe de comparaison alors on obtient ce résultat intermédiaire:
<citation>nom prenom
nom age emploi
nom prenom age emploi</citation>

Puis, on garde de ce résultat que les chaines qui ne contiennent pas autre chaine de ce résultat.
ici, on ne garde pas la chaine "nom prenom age emploi" car elle contienne la chaine "nom prenom"

Le résultat final souhaité obtenu est :
<citation>nom prenom
nom age emploi</citation>

Que proposez vous ?

Merci.
dimanche 1 novembre 2009 à 18:07:33 | Re : choix du structure des données

boualiasma

Bonjour,

Dans mon programme C, la fonction de comparaison est :
[code]*rets = compare_files("f.txt", "f2.txt");
[/code]

Je passe deux fichiers "f.txt" et "f2.txt" à la fonction 'compare_files'
la taille de "f.txt" est toujours plus grande que "f2.txt".
chaque ligne de deux fichiers contient une chaine de caractère.

Je cherche les lignes qui appartiennent à "f.txt" et non pas "f2.txt"
C'est une sorte de différence lignes de "f.txt" moins lignes de "f2.txt"
à condition:
Une ligne de "f.txt" est identique à une ligne de "f2.txt"
si les deux lignes ont la même valeur et le même nombre des mots qui forment les deux lignes quelque soit l'ordre des mots puisque l'ordre des mots n'est pas important dans mon problème.
le plus important c'est : la même valeur et le même nombre

Sinon c'est à dire les deux lignes n'ont pas la même valeur et le même nombre des mots alors dans ce cas les deux lignes sont différentes.

par exemple:
"nom prenom age" = "nom age prenom"


Sachant que chaque ligne du deux fichiers "f.txt" et "f2.txt" est composé d'un seul champ (une chaine de caractères)

Soit le premier fichier fichier "f.txt":

nom prenom
nom age
prenom age
prenom emploi
nom prenom age
nom emploi
age emploi
prenom age emploi
nom age emploi
nom prenom emploi
nom prenom age emploi


Soit le deuxième fichier "f2.txt":

nom
prenom
age
emploi
age nom
nom age prenom
nom emploi
age emploi
prenom age emploi
nom prenom emploi




On applique le principe de comparaison alors on obtient ce résultat intermédiaire:

nom prenom
nom age emploi
nom prenom age emploi


Puis, on garde de ce résultat que les chaines qui ne contiennent pas autre chaine de ce résultat.
ici, on ne garde pas la chaine "nom prenom age emploi" car elle contienne la chaine "nom prenom"

Le résultat final souhaité obtenu est :

nom prenom
nom age emploi



Que proposez vous ?

Merci.


mardi 3 novembre 2009 à 06:59:57 | Re : choix du structure des données

boualiasma

Bonjour,

J'ai besoin vos aides. Si ma demande n'est pas claire alors je vous explique de nouveau ma demande.

C'est vraie que ce code donne la solution mais il n'est pas rapide vu il y a accès de lecture de deux fichiers qui peuvent contenir des centaines des lignes.

Je voulais travailler tout en mémoire pour obtenir un temps d'exécution le moins possible alors comment faire ?

J'utilise la fonction 'clock()' pour mesurer ce temps. Je ne sais pas si c'est un bon choix ou non ?

Que proposez vous ?

Merci.


Cette discussion est classée dans : données, temps, fichiers, structure, travail


Répondre à ce message

Sujets en rapport avec ce message

faire un commit pour base oracle via VC++ [ par sisteroots ] sisterootsBonsoir à tous, j'espere qu'a cette heure qq un pourra me venir en aide...Je travaille sur un programme d'integration de données de fichiers Un probleme avec l'ouverture de plusieurs fichiers en meme temps en windows [ par glName ] Bonjour !J'ai un probleme pour ouvrir plusieurs fichiers à partir d'une boite de dialogue (je cherche une solution avec les MFC ou les API windows )Bi Structure des fichiers mp3 [ par mop666 ] salut, j aimerais faire un logiciel a lacon pour remplir les id3 de mes fichiers mp3...quelqu un sait il comment un fichier mp3 est organisé (entete d Initialisation de structure [ par goutbouyo ] Salut,J'ai une structure temps:struct temps { float time, elapsedTime, lastTime;};Je l'itinialise :<table border=0 cel Fichiers ico, taille et structure ? [ par anarchysniper ] Disposant d'un pointeur vers le début d'un fichier .ico dans une ressource, comment obtenir l'emplacement de la donnée suivante ? En fait il faut que Automatiser des ouvertures de fichiers [ par fred100582 ] Salut,Voila j'ai un dossier qui contient plusieurs dizaines de fichiers excel contenant des temps d'exécution d'un programme et je voudrais pouvoir to Appareillage de 2 fichiers [ par radada ] Waza!J'ai un gros soucis pour le taf, et c'est assez complexe, donc cela risque d'être long, mais si une âme charitable comprends tout, ce serait le t structure ? [ par vero77lisa ] Bonjour, Je travaille avec Borland C++Builder 6 Je dois spliter les lignes d'un fichier, en fonction du séparateur point-virgule ; Les données si passage de tableau de structure en parametre [ par dardarmotus ] dardarmotus Bonjour a tous les developpeurs,Voila j'ai un petit programme qui va chercher des données dans des fichiers texte.(jusque la pas de pbm) C MS3D [ par mondrone ] Bonjour à tous. Je cherche des information sur la structure des fichiers ms3d. J'ai déjà pu voir en faisant une recherche sur le forum, que certains s


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales