aalhour / aalhour/C-Sharp-Algorithms

Inefficient merge soft

Offen Anfängerfreundlich
#44 3 Kommentare 0 Reaktionen 1 zugewiesene Person Beansprucht von @davidich Auf GitHub ansehen
optimization
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.