aalhour / aalhour/C-Sharp-Algorithms

Inefficient merge soft

Ouverte Adaptée aux débutants
#44 3 commentaires 0 réactions 1 personne assignée Réclamée par @davidich Voir sur GitHub
optimization
Langage dominant
C#
Étoiles
6.2k
Forks
1.4k
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

```
int midIndex = collection.Count / 2;
var leftCollection = collection.GetRange(startIndex, midIndex);
var rightCollection = collection.GetRange(midIndex, (endIndex - midIndex) + 1);
leftCollection = InternalMergeSort(leftCollection, 0, leftCollection.Count - 1, comparer);
rightCollection = InternalMergeSort(rightCollection, 0, rightCollection.Count - 1, comparer);
```

No need to invoke GetRange, as it copies the data and consumes extra memory. Passing StartIndex, EndIndex along with the original array should be sufficient. Don't you think so?

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Examinez l’implémentation du merge sort dans le projet, probablement dans un fichier lié au tri. Le problème signale une copie inutile via GetRange. Examinez la manière dont InternalMergeSort est appelé récursivement et modifiez-le pour qu’il fonctionne avec des indices de début et de fin sur la collection d’origine. Vérifiez la modification en exécutant les tests de tri existants.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Type d'issue
Refactorisation
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
65/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.