Rückblick – Optimierte Schleifen
Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy. Lektion 17 von 66.
Aufgabe
MittelDu sollst einen Suchalgorithmus optimieren, der einen großen Datensatz verarbeitet. Erstelle eine Methode namens OptimizeSearchAlgorithm, die:
- Ein geschachteltes Array von Ganzzahlen (
int[][]) und einen Zielwert als Parameter entgegennimmt - Vier verschiedene Ansätze implementiert, um den Zielwert zu finden:
- Eine herkömmliche for-Schleife ohne das Zwischenspeichern von Array-Längen
- Eine for-Schleife mit zwischengespeicherten Array-Längen
- Eine foreach-Schleife mit einem Zähler
- Eine Hilfsmethode verwendet, um zu überprüfen, ob der Wert dem Zielwert entspricht
- Die Gesamtzahl der mit dem optimierten Ansatz (mit zwischengespeicherten Längen) gefundenen Übereinstimmungen zurückgibt
Die Methode sollte alle in diesem Kapitel behandelten Techniken zur Verbesserung von Schleifen demonstrieren.
Probier es selbst
public class OptimizeSearchAlgorithm
{
public static int optimizeSearchAlgorithm(int[][] data, int target)
{
// Schreibe deine Lösung hier
}
// Füge beliebige Hilfsmethoden hinzu, die du brauchst
}Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen 2D-Arrays2D-Arrays deklarieren und initialisierenAuf Elemente von 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysGezackte ArraysHäufige MatrixoperationenZusammenfassung – Mehrdimensionale Arrays4Techniken zur Ablaufsteuerung
Frühe RückgabenWächterklauselnSprunganweisungen (goto)Break und ContinueVerschachtelte Bedingungen abflachen7Logische Operatoren – Fortgeschritten
KurzschlussauswertungBedingte logische OperatorenOperatorrangfolgeRückblick – Erweiterte Operatoren2Fortgeschrittene Entscheidungslogik
Mehrere BedingungenKomplexe boolesche LogikVergleich: If vs. SwitchVerschachtelte Switch-AnweisungenRückblick – Fortgeschrittene Entscheidungen5Fehlerbehandlung mit Exceptions
Grundlagen von Try-CatchException-TypenMehrere Catch-BlöckeArbeiten mit DateienFinally-BlockUsing im Vergleich zu Try-FinallyBenutzerdefinierte ExceptionsZusammenfassung – Fehlerbehandlung3Schleifenverbesserungen
SchleifenleistungKomplexe IterationJeder SchleifentypSchleifen refaktorierenRückblick – Optimierte Schleifen6Behandlung von Nullwerten
Grundlagen von NullreferenzenNullable WerttypenMuster zur NullprüfungDefensive ProgrammierungZusammenfassung – NullsicherheitÜbe selbstständig: Online-C#-Compiler