Gestion de Fichiers - PowerPoint PPT Presentation

About This Presentation
Title:

Gestion de Fichiers

Description:

Title: PowerPoint Presentation Author: nat Last modified by: nat Created Date: 12/10/2000 12:30:02 AM Document presentation format: On-screen Show Company – PowerPoint PPT presentation

Number of Views:65
Avg rating:3.0/5.0
Slides: 13
Provided by: Nat153
Category:

less

Transcript and Presenter's Notes

Title: Gestion de Fichiers


1
Gestion de Fichiers
  • GF-10 Traitement Co-Sequentiel Appariment et
    Fusion de Plusieures Listes
  • (Base sur les sections 8.1-3 de Folk, Zoellick
    Riccardi, File Structures, An Object-Oriented
    Approach with C Et Notes sur le Web)

2
Resume du Cours dAujourdhui
  • Developpement dun Model General pour
    lImplementation du Traitement Co-Sequentiel ?
    Appariment et Fusion
  • Illustration de lUtilisation de ce Model sur un
    probleme de comptabilite
  • Algorithme de Fusion de listes multiples (peu de
    listes)
  • Algorithme de Fusion de listes multiples
    (beaucoup de listes)
  • Arbres de selections ? Arbres de Gagnants
  • ? Arbres de
    Perdants

3
Definition
  • Les operations co-sequentielles correspondent au
    traitement coordine de deux (ou plus de deux)
    listes sequentielles afin de produire une liste
    unique.
  • Ceci est utile pour la fusion (ou lunion) des
    elements des deux listes et pour lassortiment
    (matching) de deux listes (ou leur intersection)
  • Ces types de traitement de listes sont
    extremement utiles pour le traitement des
    fichiers.

4
Assortiment (Matching) des noms dans deux listes I
  • Adams
  • Carter
  • Chin
  • Davis
  • Foster
  • Garwick
  • James
  • Johnson
  • Karns
  • Lambert
  • Miller
  • Adams
  • Anderson
  • Andrews
  • Bech
  • Burns
  • Carter
  • Davis
  • Dempsey
  • Gray
  • James
  • Johnson
  • Katz
  • Peters

5
Assortiment (Matching) des noms dans deux listes
II
  • Synchronization
  • Soit Element(1), lelement courant de la liste
    1 et Element(2), lelement courant de la liste
    2.
  • Regles
  • Si Element(1) lt Element(2), se deplacer jusqua
    lelement suivant de la liste 1
  • Si Element(1) gt Element(2), se deplacer jusqua
    lelement suivant de la liste 2
  • Si Element(1)Element(2), sauvegarder lelement
    et se deplacer jusqua lelemnet suvant dans les
    deux listes.

6
Fusion de deux listes
  • Le processus dassortiment peut etre facilement
    modifie de facon a traiter la fusion de deux
    listes.
  • Une difference importante entre lassortiment et
    la fusion est quavec la fusion, on doit lire les
    deux listes jusquau bout.
  • Nous devons savoir reconnaitre, cependant, le
    fait que lune des deux listes ait ete
    completement lue et eviter de lire cette liste de
    nouveau.

7
Application de ce Model a un probleme de
comptabilite I
  • Le probleme La creation dun programme de
    comptabilite contennant les composantes
    suivantes
  • Un fichier de transactions journalieres ce
    fichier contient les transactions dun mois
    entier. Ces transactions sont ultimement
    reportees dans le fichier livre de comptes.
  • Un fichier de livre de compte ce fichier
    contient le resume des transactions mensuelles
    associees avec chacun des comptes consideres.
  • Un rapport correspond a lassociation de chaque
    transaction a son compte dans le livre de compte.

8
Application de ce Model a un probleme de
comptabilite II
  • Comment implementer le procesus de rapport?
  • Solution 1 Construire un indexe pour le livre de
    comptes organise par numero de compte ? 2
    problemes 1) beaucoup de recherche en avant et
    en arriere est necessaire 2) les inscriptions du
    journal ayant un compte en commun ne sont pas
    recueuillies au meme endroit.
  • Solution 2 Recueuillir toutes les transactions
    du journal ayant un compte en commun en triant
    les transactions du journal par numero de compte,
    et traiter le livre de compte et le journal trie
    de facon co-sequentielle.

9
Application de ce Model a un probleme de
comptabilite III
  • But du programme De produire une version
    imprimee du livre de compte qui montre, non-
    seulement, la balance de depart et la balance
    courante pour chaque mois, mais aussi, qui liste
    toutes les transactions du journal.
  • Du point de vue du livre de compte, le processus
    de rapport est une operation de fusion (meme les
    comptes non rencontres dans le journal sont
    listes). Du point de vue des comptes du
    journal, le processus de rapport est un
    assortiment.
  • Notre programme doit donc implementer une
    operation de fusion/assortiment combinee tout en
    imprimant le nom de chaque compte, les
    transactions individuelles, et les balances.

10
Algorithme de Fusion de K listes
  • Soit deux tableaux
  • Un tableau de k listes
  • Un tableau de k indices correspondant a la valeur
    de lelement courant dans chacune des k listes,
    respectivement.
  • Boucle principale de lalgorithme
  • Trouver lindice de lelement courant minimum
    minElem
  • Traiter minElem (mettre minElem dans la liste de
    sortie)
  • For i0 until ik-1 (en increment de 1)
  • Si lelement courant de la liste i est egal a
    minElem alors avancer la liste i
  • Retourner a la premiere etape

11
Un Arbre de Selection pour Fusion dun
large nombre de listes
  • Lalgorithme de fusion pour k listes marche bien
    si k lt 8. Si k est plus grand, le nonbre
    de comparaisons necessaires pour trouver la
    valeur minimal a chaque etape est tres grand.
  • Dans ce cas il vaut mieux utiliser un arbre de
    selection qui nous permet de determiner une
    valeur de cle minimum plus rapidement.
  • Fusionner k listes en utilisant cette methode
    prend log2 k (la profondeur de larbre)
    plutot que k.
  • Cependant, la mise a jour dun arbre de selection
    nest pas facile ? Il est plus facile de mettre a
    jour un arbre de perdants.

12
Arbre de Perdants Plutot qu Arbre de Gagnants
  • Avantage de larbre de perdants
  • Lorsque lon utilise un arbre de gagnants, les
    enregistrements avec lesquels le gagnant doit
    etre comparede facon a trouver le prochain
    gagnantsont distribues dans des sous-arbres
    differents. Mettre a jour un tel arbre nest pas
    tres facile.
  • Lorsque lon utilise un arbre de perdants,
  • La valeur de chaque feuille (a part la plut
    petite, le gagnant) napparait quune seule fois
    dans un noeud interne.
  • Tous les enregistrements avec lesquels le gagnant
    doit etre compare sont dans un cheminement de la
    feuille gagnante a la racine.
  • Si chacun des noeuds de larbre a un pointeur a
    son parent, il est tres facile de trouver le
    gagnant suivant.
Write a Comment
User Comments (0)
About PowerShow.com