(c'est une question pour un rappor de tp, y'a pas de code a écrire, juste des idées)
je travaille avec des arbres binaires presque parfaits ( comme ca on travaille sur des tableaux)
1
/ \
2 3
/ \ /
4 5 6
en tablo ca donne 123456
|
arbre applati dans 1 tableau)
je construis mon tas en parcourant les noeuds linéairement en partant du bas, de droite a gauche (dans le cas ou la racine serait en haut) et en rétablissant l'arbre a chaque fois ( c'est a dire que l'on a tjrs un arbre en dessous du noeud, et pas encore forcément au dessus)
(ordre de parcours de l'arbre, qui est en fait applati dans un tableau)
la ca me fait mon arbre presque parfait, puis je peux trier en prenant mon plus grand élément et en rétablissant l'arbre
bref juste la rien de nouvo
mais...
dans le cas d'une machine multiprocesseur, quel serait le meilleur moyen de paralleliser le tri et avec combien de procs ?
moi je pense "simplement" que l'on peut y gagner dans la construction initiale de l'arbre binaire presque parfait = tas
donc fatalement donnant pour un noeud chacune des deux branches à un processeur
donc soit on est pauvre et on parallelise uniquement les deux fils de la racine avec 2 procs
soit on est mégalo et on parallelise toute la derniere rangée de noeuds soit a peu pres log(2) N processeurs, si N est la taille de l'arbre / tableau a trier
voila, si vous aves des idées pour completer les miennes....
Message édité par farib le 14-04-2003 à 16:41:37
---------------
Bitcoin, Magical Thinking, and Political Ideology