Podsumowanie — zoptymalizowane pętle
Część sekcji Logika i sterowanie przepływem ścieżki C# w Coddy. Lekcja 17 z 66.
Wyzwanie
ŚredniTwoim zadaniem jest zoptymalizowanie algorytmu wyszukiwania, który przetwarza duży zbiór danych. Utwórz metodę o nazwie OptimizeSearchAlgorithm, która:
- Przyjmuje jako parametry poszarpaną tablicę liczb całkowitych (
int[][]) oraz wartość docelową - Implementuje cztery różne sposoby wyszukiwania wartości docelowej:
- Używa tradycyjnej pętli for bez buforowania długości tablic
- Używa pętli for z buforowanymi długościami tablic
- Używa pętli foreach z licznikiem
- Używa metody pomocniczej do sprawdzenia, czy wartość jest zgodna z docelową
- Zwraca łączną liczbę znalezionych dopasowań, korzystając ze zoptymalizowanego podejścia (z buforowanymi długościami)
Metoda powinna demonstrować wszystkie techniki usprawniania pętli omówione w tym rozdziale.
Spróbuj swoich sił
public class OptimizeSearchAlgorithm
{
public static int optimizeSearchAlgorithm(int[][] data, int target)
{
// Wpisz tutaj swoje rozwiązanie
}
// Dodaj potrzebne metody pomocnicze
}Wszystkie lekcje w sekcji Logika i sterowanie przepływem
1Tablice wielowymiarowe
Podstawy tablic 2DDeklarowanie i inicjalizacja tablic 2DDostęp do elementów tablic 2DZagnieżdżone pętle z tablicami 2DTablice postrzępionePodstawowe operacje na macierzachPodsumowanie — tablice wielowymiarowe4Techniki sterowania przepływem
Wczesne zwrotyKlauzule ochronneInstrukcje skoku (goto)Break i continueSpłaszczanie zagnieżdżonych warunków7Zaawansowane operatory logiczne
Ewaluacja z krótkim spięciemWarunkowe operatory logicznePriorytet operatorówPowtórzenie — zaawansowane operatory2Zaawansowane podejmowanie decyzji
Wiele warunkówZłożona logika Boole’aPorównanie if i switchZagnieżdżone instrukcje switchPodsumowanie — zaawansowane decyzje5Obsługa wyjątków
Podstawy try-catchTypy wyjątkówWiele bloków catchPraca z plikamiBlok finallyusing a try-finallyWłasne wyjątkiPowtórzenie — obsługa błędów3Udoskonalenia pętli
Wydajność pętliIterowanie po złożonych strukturachKażdy typ pętliRefaktoryzacja pętliPodsumowanie — zoptymalizowane pętle6Obsługa wartości null
Podstawy referencji nullTypy wartości dopuszczające nullWzorce sprawdzania nullProgramowanie defensywnePodsumowanie — bezpieczeństwo nullPoćwicz samodzielnie: Kompilator C# online