aalhour / aalhour/C-Sharp-Algorithms
Inefficient merge soft
- Lenguaje dominante
- C#
- Estrellas
- 6.2k
- Forks
- 1.4k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
```
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?
Guía de contribución
Línea de trabajo
Examina la implementación de merge sort en el proyecto, probablemente en un archivo relacionado con la ordenación. El issue señala una copia innecesaria mediante GetRange. Examina cómo se llama recursivamente a InternalMergeSort y modifícalo para que funcione con índices de inicio y fin sobre la colección original. Verifica el cambio ejecutando las pruebas de ordenación existentes.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Tipo de issue
- Refactorización
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 65/100