aalhour / aalhour/C-Sharp-Algorithms

Inefficient merge soft

Aberta Para iniciantes
#44 3 comentários 0 reações 1 responsável Reivindicada por @davidich Ver no GitHub
optimization
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

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

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.