aalhour / aalhour/C-Sharp-Algorithms
Inefficient merge soft
- Linguagem predominante
- C#
- Estrelas
- 6.2k
- Forks
- 1.4k
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
```
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?
Guia de contribuição
Direção de pesquisa
Analise a implementação do merge sort no projeto, provavelmente em um arquivo relacionado à ordenação. A issue aponta para uma cópia desnecessária feita por GetRange. Examine como InternalMergeSort é chamado recursivamente e modifique-o para trabalhar com índices de início e fim na coleção original. Verifique a alteração executando os testes de ordenação existentes.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Tipo de issue
- Refatoração
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Status de atividade
- Estagnada
- Clareza
- Claramente especificada
- Facilidade para iniciantes
- 65/100