aalhour / aalhour/C-Sharp-Algorithms

Inefficient merge soft

Abierto Apto para principiantes
#44 3 comentarios 0 reacciones 1 asignado Reclamado por @davidich Ver en GitHub
optimization
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.