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 :

Index de type B-Arbre en C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 2
    Par défaut Index de type B-Arbre en C
    Bonjour à tous,

    Je dois réaliser un programme qui va représenter un index de type B-arbre pour un fichier plat. Cet index devra être écrit en C, et en plus de gérer tout ce que doit gérer un index, il faudra qu'il se sauvegarde dans un fichier, et qu'il puisse se restaurer...

    Le problème c'est que je ne suis aucunement compétent en BD ou en C !! Y'aurait-il une âme charitable pour m'aider, me guider?

    J'ai trouver ceci:http://www.cc.gatech.edu/classes/AY2...spring/btree.c

    Est-ce ce que je cherche (je suis tellement une bille que je ne saurais même pas voir la réponse si elle était sous mes yeux...)?

    Je demande de l'aide pas la réponse évidemment

    Merci de m'avoir lu,
    GreeG

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 850
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 850
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par greegthegeek Voir le message
    Bonjour à tous,

    Je dois réaliser un programme qui va représenter un index de type B-arbre pour un fichier plat. Cet index devra être écrit en C, et en plus de gérer tout ce que doit gérer un index, il faudra qu'il se sauvegarde dans un fichier, et qu'il puisse se restaurer...

    Le problème c'est que je ne suis aucunement compétent en BD ou en C !! Y'aurait-il une âme charitable pour m'aider, me guider?

    J'ai trouver ceci:http://www.cc.gatech.edu/classes/AY2...spring/btree.c

    Est-ce ce que je cherche (je suis tellement une bille que je ne saurais même pas voir la réponse si elle était sous mes yeux...)?

    Je demande de l'aide pas la réponse évidemment

    Merci de m'avoir lu,
    GreeG
    Déjà ton lien ne fonctionne pas. Il semble incomplet car je peux arriver jusqu'ici http://www.cc.gatech.edu/classes mais ensuite, pour trouver la tienne...

    Bon, c'est quoi un fichier ? Des lignes qui contiennent des infos comme nom, prénom, age. Comme ici
    Bob:Tibère:18
    Arthur:Romero:22
    Grudu:Nicolas:55

    C'est quoi un index ? C'est un truc qui permet d'accéder rapidement à l'info cherchée. Donc ça contient
    - la valeur nécessaire (par exemple le nom)
    - l'endroit où se trouve ce nom dans le fichier (par exemple la position à partir du départ
    Exemple
    Bob:0
    Arthur:14
    Grudu:33

    La phase de recherche s'effectue en 2 étapes
    1) je balaye mon index pour trouver le nom demandé et je récupère la position
    2) grace à la position je me déplace dans le fichier et je lis la ligne à cet endroit là => je récupère toute la ligne contenant mon nom

    Pour la phase n° 1, il est intéressant que l'index soit trié ce qui accélère la recherche. Et pour trier tes infos, on te propose de les regrouper en arbre binaire gauche/droite. Comment ça marche => tu as une info à stocker
    1) si le noeud sur lequel tu te trouves est libre tu stockes l'info sur ce noeud
    2) sinon si l'info est plus petite que celle présente sur ce noeud tu te déplaces sur le noeud de gauche et tu retournes en 1)
    3) sinon c'est que l'info est plus grande donc tu te déplaces sur le noeud de droite et tu retournes en 1)

    Une fois l'arbre construit, chaque info située à gauche d'un noeud est toujours plus petite que celle située sur le noeud qui est elle-même toujours plus petite que celle située sur la droite. A partir de là, faire une recherche est plus rapide puisqu'à chaque étape de recherche tu élimines la moitié des éléments qui ne correspondent pas (à condition que l'arbre soit bien équilibré)
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/11/2009, 14h17
  2. [INDEX][TOAD] Index de type LOB
    Par jbrasselet dans le forum Oracle
    Réponses: 1
    Dernier message: 16/07/2009, 11h11
  3. Pertinence d'un index sur type TIMESTAMP
    Par chezjm dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/03/2009, 00h31
  4. index de type Full text
    Par krest dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/02/2008, 21h30
  5. Réponses: 0
    Dernier message: 10/01/2008, 14h57

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