Wikipedia répertorie la complexité temporelle de l'addition comme , où est le nombre de bits.
S'agit-il d'une borne inférieure théorique rigide? Ou est-ce simplement la complexité de l'algorithme connu le plus rapide actuellement. Je veux savoir, car la complexité de l'addition souligne toutes les autres opérations arithmétiques et tous les algorithmes qui les utilisent.
Est-il théoriquement impossible d'obtenir un algorithme d'addition qui s'exécute en ? Ou sommes-nous liés à une complexité linéaire pour l'addition.
la source
Pour que l'analyse de complexité ait un sens formel, vous devez spécifier un modèle de calcul formel dans lequel l'algorithme dans l'objet est exécuté, ou, à tout le moins, un modèle de coût , qui spécifie quelles sont les opérations de base et leurs coûts.
Maintenant, les opérations peuvent-elles avoir un coût inférieur à cela? Cependant, vous devrez peut-être définir formellement un modèle de calcul dans lequel cela peut se produire.
la source
Imaginez que votre algorithme ajoute avec succès 1010100110 et 0010010110 sans lire chaque bit. Pour que votre algorithme puisse ajouter des entrées arbitraires , je devrais être capable de retourner aléatoirement n'importe lequel de ces bits, et l'algorithme génère toujours une addition correcte (mais différente). Mais si votre algorithme ne lit pas tous les bits, comment pourrait-il dire que l'entrée inversée était différente de l'entrée d'origine?
la source