Lorsque nous parlons de la complexité de nos codes la plupart du temps, nous considérons le nombre d'entrées. Habituellement, nous ne considérons pas beaucoup à propos de la mise en œuvre du matériel de pose. Pour obtenir une connectivité entre la complexité du code et le nombre d'entrées que nous composons à notre algorithme (Code) nous utilisons couramment la notation Big_O. La boucle est la chose essentielle pour implémenter l'algorithme mais elle a la complexité de O (n) qui signifie que le temps grandira linéairement avec le nombre d'entrée si grand nombre d'entrées il inefficace. mais nous pouvons remplacer la boucle par la récursion car la récursion a toujours la complexité du temps O (log n). Et je ne vais pas le clarifier ici. De tout cela ci-dessus Mais je veux dire que la récursivité est plus efficace que la boucleTraiter de très grands nombres avec la programmation Python
et aussi tout ce qui peut faire une boucle, nous pouvons faire la même chose par la récursivité plus efficacement.
donc je trouve une question de Project Euler.net appel self powers
suite est ma question
La série, 11 + 22 + 33 + ... + 1010 = 10405071317. Trouver les dix derniers chiffres de la série, 11 + 22 + 33 + ... + 10001000.
cette question semble facile si je mets en œuvre mon code de Python et son travail en douceur pour petit nombre de nombre de gammes mais obtenir une puissance de 1000 à 1000 et la somme de tous les python ci-dessus montrent généralement une erreur (parce que les nombres sont extrêmement élevés, ce qui est suffisant pour le flux de la mémoire en python). suivi est mon code
def f(n):
if n==1:
return 1
else:
return n**n+f(n-1)
Alors ma question est comment puis-je résoudre ce problème, et comment je traiter ces très grand nombre, comment puis-je gérer les exceptions qui aura lieu sur un grand nombre d'entiers s'il vous plaît mentionner bon algorithme motivatif?
Où avez-vous trouvé que "la récursivité a toujours la complexité de temps O (log n)"? – vish4071
@ vish4071 L'implémentation unique de la récursion a O (log n) – Heathens
1. La récusion n'a pas toujours la complexité temporelle 'O (logn)'. 2. Les boucles n'ont pas nécessairement la complexité O (n) par exemple celle-ci: 'pour (int i = 1; i
Keiwan