Récapitulatif - Boucles optimisées
Fait partie de la section Logique & Flux du Journey C# de Coddy — leçon 17 sur 66.
Défi
MoyenVous êtes chargé d'optimiser un algorithme de recherche qui traite un ensemble de données volumineux. Créez une méthode appelée OptimizeSearchAlgorithm qui :
- Prend un tableau décalé d'entiers (
int[][]) et une valeur cible comme paramètres - Implémente quatre approches différentes pour trouver la valeur cible :
- Utiliser une boucle for traditionnelle sans mise en cache des longueurs de tableau
- Utiliser une boucle for avec mise en cache des longueurs de tableau
- Utiliser une boucle foreach avec un compteur
- Utiliser une méthode auxiliaire pour vérifier si la valeur correspond à la cible
- Retourne le nombre total de correspondances trouvées en utilisant l'approche optimisée (avec les longueurs mises en cache)
La méthode doit démontrer toutes les techniques d'amélioration de boucle abordées dans ce chapitre.
Essayez vous-même
public class OptimizeSearchAlgorithm
{
public static int optimizeSearchAlgorithm(int[][] data, int target)
{
// Écrivez votre solution ici
}
// Ajoutez toutes les méthodes auxiliaires dont vous avez besoin
}Toutes les leçons de Logique & Flux
1Tableaux multidimensionnels
Bases des tableaux 2DDéclaration et initialisation en 2DAccès aux éléments d'un tableau 2DBoucles imbriquées et tableaux 2DTableaux irréguliersOpérations matricielles courantesRécapitulatif - Multidimensionnel4Techniques de contrôle de flux
Retours anticipésClauses de gardeInstructions de saut (goto)Break et ContinueAplatir les conditionnelles imbriquées2Prise de décision avancée
Conditions multiplesLogique booléenne complexeComparaison If vs SwitchInstructions Switch imbriquéesRécapitulatif - Décisions avancées5Gestion des exceptions
Bases du Try-CatchTypes d'exceptionsBlocs Catch multiplesManipulation de fichiersLe bloc FinallyUsing vs Try-FinallyExceptions personnaliséesRécapitulatif - Gestion des erreurs3Améliorations des boucles
Performance des bouclesItération de structures complexesChaque type de boucleRefactorisation des bouclesRécapitulatif - Boucles optimisées6Gestion des valeurs nulles
Les bases des références nullesTypes valeur nullablesPatterns de vérification de nullitéProgrammation défensiveRécapitulatif - Null Safety