begin process at 2012 05 28 21:50:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

comment trasnformer une matrice à un arbre ?


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

comment trasnformer une matrice à un arbre ?

dimanche 4 décembre 2011 à 23:42:42 | comment trasnformer une matrice à un arbre ?

begueradj

Bonjour

Je cherche à transformer une matrice qui ne contient que des 0 et des 1 à un arbre. Comment le faire sachant que je ne m'intéresse à ne représenter sous forme d'un arbre que les Matrice[i][j] =0 ?
lundi 5 décembre 2011 à 09:21:49 | Re : comment trasnformer une matrice à un arbre ?

begueradj

Précision:
Sachant que pour la configuration, on a toujours une case de départ et une case d'arrivée et, je répète, je ne m'intéresse qu'aux 0
lundi 5 décembre 2011 à 09:24:02 | Re : comment trasnformer une matrice à un arbre ?

buno

Administrateur CodeS-SourceS
Hello,
Quel forme d'arbre? Quel est l'objectif final?


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
lundi 5 décembre 2011 à 10:49:11 | Re : comment trasnformer une matrice à un arbre ?

begueradj

Merci de m'avoir répondu.

EN fait, dans ma matrice, je n'ai que des 0 et des 1.

Je prédéfinis ma case de départ et ma case d'arrivée, qui ont comme contenu 0 (je ne m'intéresse qu'aux 0)

Dans cette matrice, je cherche le chemin de la case de départ à la case d'arrivée en enmpruntant que les 0.

On nous a demandé d'implémenter l'algorithme du meilleur d'abord. Or, l'implémenter directement sur la matrice est difficile, donc si je réussis à transformer la matrice à un arbre où les successeurs de la case de départ valant 0 et menant ou pas à la case finale, je pourrais parcourir mon arbre plus facilement.
lundi 5 décembre 2011 à 11:30:18 | Re : comment trasnformer une matrice à un arbre ?

buno

Administrateur CodeS-SourceS
Tu peux définir les fils de tes noeuds comme les voisins de la case courante de la matrice par exemple.


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
lundi 5 décembre 2011 à 13:18:49 | Re : comment trasnformer une matrice à un arbre ?

coucou747

Administrateur CodeS-SourceS
Salut,

Une matrice représente un graph et non un arbre.

Il suffit de commencer par allouer N noeuds dans un tableau, puis de se déplacer dans ta matrice pour ajouter les arrètes.

en gros
allouer un tableau de N noeuds
pour i de 0 à N
pour j de 0 à N
si matrice[i][j]
ajouter une arrète de i à j

c'est super simple.

Cordialement.
lundi 5 décembre 2011 à 16:27:54 | Re : comment trasnformer une matrice à un arbre ?

begueradj

merci pour vos réponses

mais le fait d'arrivé à un élément 0 ne contenant pas de successeurs, je dois remonter en arrière, pour retrouver ma bifurcation et aller dans l'autre côté. Ce retour en arrière, je pense qu'il nécessite une pile, et ça me pose un problème.
lundi 5 décembre 2011 à 16:49:13 | Re : comment trasnformer une matrice à un arbre ?

coucou747

Administrateur CodeS-SourceS
Réponse acceptée !
ok bon... déjà, tu remplaces si matrice[i][j] par si non matrice[i][j] pour transformer ta matrice en un graph.

Bon sinon, c'est un exemple super simple de parcours de graphs...

voici un dfs, ça ne te renvoie pas le chemin le plus court, mais ça marche sans transformer ta matrice en graph.

int solution(int **m, int n, int d, int e){
if (d == e) return 1;
int i;
for (i = 0; i < n; i++){
if (!m[d][i]){
m[d][i] = 1;
if (solution(m, n, i, e)) return 1;
}
}
return 0;
}

d c'est le noeud de départ
e c'est le noeud d'arrivée
ma fonction renvoie 1 si il y a un chemin, mais stoquer le chemin c'est pas vraiment difficile.

Je t'ai donné le dfs, tu peux chercher toi même comment on fait un bfs, et NON, t'as pas besoin d'une pile, juste d'allouer deux tableaux de taille n.

Bref, le BFS c'est super simple à faire, j'ai vu des jeunes de 14 ans le faire pour le concours prologin...

Fait au moins preuve de courage et commence à faire ton travail tout seul, on t'aidera à débuguer le truc si besoin, mais on ne le fera pas "entièrement" à ta place.

Cordialement,

Maxime
mardi 6 décembre 2011 à 00:49:12 | Re : comment trasnformer une matrice à un arbre ?

begueradj

Merci pour vos éclaircissements et vos encouragement, Maxime.


Cette discussion est classée dans : arbre, matrice, trasnformer


Répondre à ce message

Sujets en rapport avec ce message

Problème pour dériver une classe [ par arc59 ] J'ai créé une classe Matrice comportant des fonctions get_ele, set_ele (toutes les 2 sont "virtual") et la redéfinition de l'opérateur +.Dans ma class fichier.h [ par bidules ] Bonjour,j'aimerais savoir s'il est possible de mettre des structures dans un fichier d'entete.Car j'ai fais l'essai mais lors de la compilation pour c créer un arbre à partir d'un fichier word [ par yeager ] Bonjour je suis nouveau et débutant en langage CJe souhaite pouvoir lire un fichier word comportant des informations sur plusieurs livres. A partir de PB de matrice [ par limax84 ] J'ai un probleme d'allocation dynamique de memoire pour une matrice.pour un tableau, je procede comme ceci:int * t;t = new int [30];mais pour une matr Construction d'un arbre à partir d'une chaine de caractères [ par dahlsimus ] Bonjour, Je souhaite construire un arbre représentant une expression booléenne saisie sous le forme d'une chaîne de caractère (ex: (a+b).C avec + OR e matrice carréé [ par justeroland ] j'ai besoin de l'aide au sujet de l'exercice suivant: une matrice carré est dite balancée si les sommes des elements de ses quatre triangles sont égal Besoin d'aide en C - Fonction [ par bugs2600 ] Voici mon programme quelqu'un pourrait-il m'aider je dois faire une fonction et je ne vois pas comment la faire le non de ma fonction doit etre PRODMA une matrice de taille quelconque [ par anaisa ] salut tt le monde saurez vous m'aidez à résoudre un petit probleme: je dois programmé la somme, produit de matrices de taille quelconque en langage C Coord 2D to 3D [ par bat67000 ] Comment optenir d'un point 2D sur l'app les coordonnees du point 3D associé avec la matrice de projection ?(je pige pas bien comment fonctionne la mat Matrice constante. [ par nsoualem ] j'ai crée une classe matrice avec un constructeurdu type:matrice(int nbligne,int nbcolonne)...elle marche a merveille!!!Lors de la création d'un code,


Nos sponsors


Sondage...

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,359 sec (3)

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