aalhour / aalhour/C-Sharp-Algorithms
Inefficient merge soft
- Vorherrschende Sprache
- C#
- Sterne
- 6.2k
- Forks
- 1.4k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
```
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?
Beitragsleitfaden
Rechercherichtung
Sieh dir die Merge-Sort-Implementierung im Projekt an, wahrscheinlich in einer sortierbezogenen Datei. Der Issue weist auf unnötiges Kopieren durch GetRange hin. Untersuche, wie InternalMergeSort rekursiv aufgerufen wird, und ändere es so, dass es mit Start- und Endindizes der ursprünglichen Sammlung arbeitet. Überprüfe die Änderung, indem du vorhandene Sortiertests ausführst.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Issue-Typ
- Refactoring
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 65/100