aalhour / aalhour/C-Sharp-Algorithms
Inefficient merge soft
- 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