Définition de l'algorithme
Un algorithme (algorithme) fait référence à une description précise et complète d'une solution de résolution de problèmes et est une série de instructions claires pour résoudre les problèmes. Les algorithmes représentent une approche systématique pour décrire le mécanisme stratégique de résolution des problèmes. En d’autres termes, il est possible d’obtenir le résultat requis dans un temps limité pour certains intrants standardisés. Si un algorithme est défectueux ou inapproprié pour résoudre un problème, son exécution ne résoudra pas le problème. Différents algorithmes peuvent utiliser différents temps, espace ou efficacité pour accomplir la même tâche. La qualité d’un algorithme peut être mesurée par sa complexité spatiale et sa complexité temporelle.
Un algorithme doit avoir les sept caractéristiques importantes suivantes :
①Finitité : La finitude d'un algorithme signifie que l'algorithme doit pouvoir se terminer après l'exécution d'un nombre limité d'étapes ; 🎜>②Défini : Chaque étape de l'algorithme doit avoir une définition exacte ;
③Entrée : Un algorithme a 0 ou plusieurs entrées pour décrire l'opérande La situation initiale, l'entrée dite 0 fait référence aux conditions initiales définies. par l'algorithme lui-même ;
④Sortie : Un algorithme a une ou plusieurs sorties pour refléter les résultats du traitement des données d'entrée . Un algorithme sans sortie n'a aucun sens ;
⑤Efficacité : toute étape de calcul effectuée dans l'algorithme peut être décomposée en étapes d'opération de base exécutables, c'est-à-dire que chaque étape de calcul peut toutes être complétée dans un temps limité (également appelé efficacité) ;
⑥Haute efficacité : exécution rapide et faible utilisation des ressources
⑦Robustness (Robustness) : Réponse correcte aux données.
Complexité temporelle
En informatique, la complexité temporelle d'un algorithme est une fonction qui décrit quantitativement le temps d'exécution et la complexité temporelle de l'algorithme. La notation Big O utilisée (notation Big O) est une notation mathématique utilisée pour décrire le comportement asymptotique d'une fonction. Plus précisément, il s'agit d'une fonction qui utilise une autre fonction (généralement plus simple) pour décrire la limite supérieure asymptotique de l'ordre de grandeur de. une fonction. Lié. En mathématiques, il est généralement utilisé pour décrire le reste d'une série infinie tronquée, notamment une série asymptotique ; en informatique, il est très utile pour analyser la complexité des algorithmes, en utilisant cette méthode. la complexité peut être considérée comme asymptotique, ce qui considère la situation dans laquelle la taille de la valeur d'entrée approche l'infini.
Big O, en bref, cela peut être considéré comme signifiant « ordre de » (environ).
Asymptotique infinie
La notation Big O est très utile pour analyser l'efficacité d'un algorithme. Par exemple, le temps nécessaire pour résoudre un problème de taille n (ou le nombre d'étapes nécessaires) peut être trouvé : T(n) = 4n^2 - 2n + 2.À mesure que n augmente, le terme n^2 ; commencera à dominer, et les autres termes peuvent être ignorés - par exemple : lorsque n = 500, le terme 4n^2 est 1000 fois plus grand que le terme 2n, donc , dans la plupart des cas, l'effet de l'omission de ce dernier sur la valeur de l'expression sera négligeable.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!