Nous avons un tri de fusion pour deux tableaux ou une liste chaînée comment puis-je écrire une partie de fusion pour plus de deux listes chaînées? s'il vous plaît aidez-moi mercifusionner une partie dans un tri de fusion
1
A
Répondre
0
Soit fusionner deux à la fois et fusionner le résultat avec le troisième ou modifier la logique de fusion pour prendre l'élément min de toutes les trois listes.
0
Divisez récursivement l'ensemble de tableaux en deux ensembles de tableaux qui doivent être fusionnés. Lorsque l'ensemble ne contient qu'un seul tableau, retournez-le. Fusionner la liste résultante de chaque appel en utilisant votre tri de fusion standard.
array merge(list_of_arrays)
{
if (sizeof(list_of_arrays) == 1)
return list
else
return mergesort(merge(first_half(list_of_arrays)), merge(second_half(list_of_arrays)))
}
ce qui se passera à la mémoire temporaire? – user355002
@matin - je ne sais pas ce que vous voulez dire. La seule mémoire supplémentaire appréciable est dans le mergesort standard, sinon vous êtes en train de décomposer les tableaux avec lesquels vous travaillez pour fusionner. – tvanfosson