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 grand ensemble de données. Créez une méthode appelée OptimizeSearchAlgorithm qui :
- Accepte en paramètres un tableau irrégulier d’entiers (
int[][]) ainsi qu’une valeur cible - Implémente quatre approches différentes pour trouver la valeur cible :
- Utiliser une boucle for traditionnelle sans mettre en cache les longueurs des tableaux
- Utiliser une boucle for avec les longueurs des tableaux mises en cache
- 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 à l’aide de l’approche optimisée (avec les longueurs mises en cache)
La méthode doit présenter toutes les techniques d’amélioration des boucles 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 SafetyEntraînez-vous par vous-même : Compilateur C# en ligne