Migliore risposta
Google è tuo amico: da Complessità temporale – Wikipedia
Tempo polinomiale
Si dice che un algoritmo sia di tempo polinomiale se il suo tempo di esecuzione è limite superiore da una espressione polinomiale nella dimensione dellinput per lalgoritmo, ovvero T ( n ) = {\ displaystyle O (n ^ {k})} per una costante positiva k .
I problemi per i quali esiste un algoritmo temporale polinomiale deterministico appartengono alla classe di complessità P , che è centrale nel campo della teoria della complessità computazionale . La tesi di Cobham afferma che il tempo polinomiale è sinonimo di “trattabile”, “fattibile”, “efficiente” o “veloce”.
Alcuni esempi di algoritmi di tempo polinomiale:
- Lalgoritmo di ordinamento selezione sort su n interi esegue operazioni {\ displaystyle An ^ {2}} per alcune costanti A . Quindi viene eseguito nel tempo {\ displaystyle O (n ^ {2})} ed è un algoritmo temporale polinomiale.
- Tutte le operazioni aritmetiche di base (addizione, sottrazione, moltiplicazione, divisione e confronto) possono essere eseguite in tempo polinomiale.
- Abbinamenti massimi nei grafici possono essere trovati in tempo polinomiale.
Potrei suggerire di seguire alcuni corsi tradizionali di informatica, come algoritmi che utilizzano un testo come Introduzione agli algoritmi ( aka CLRS) anche un semplice corso di strutture dati come quello descritto nel paper Un corso fondamentale di informatica che unifica teoria e pratica che utilizza il testo classico di Wulf, Shaw, Hilfinger e Flon Strutture fondamentali dellinformatica .
Risposta
Se dividiamo un polinomio p (x) per qualche polinomio d (x) allora troviamo un quoziente q (x) tale che p (x) = d (x) q (x) + r (x) dove r (x) è il nostro resto.
Supponiamo che r (x) avesse un grado ≥︎ n, allora avremmo potuto modificarne di più dato che d (x) è il grado n fino al nostro nuovo r (x) ^ {*} aveva un grado strettamente inferiore a d (x)
Supponiamo di avere p (x) = x ^ 4 + 1 ed (x) = x ^ 2:
x ^ 4 + 1 = x ^ 2q (x) + r (x)
chiaramente q (x) = x ^ 2
x ^ 4 + 1 = x ^ 2 \ cdot {x ^ 2} + r (x) ⇒︎ r (x) = 1
Ora potrei andare avanti e provare a dire che q (x) = xeg et:
x ^ 4 + 1 = {x \ cdot {x}} ^ 2+ (x ^ 4-x ^ 3 + 1)
r (x) = x ^ 4-x ^ 3 + 1?
ma questo non è affatto quello che vogliamo!
Questo è analogo alla divisione / resto in numeri interi:
p = dq + r
7 = 2 \ cdot {3} +1 è corretto
7 = 1 \ cdot {3} +4 non è desiderabile poiché non abbiamo diviso completamente attraverso dal nostro divisore e ha lasciato una r maggiore di quella che dovremmo avere.
Lo stesso concetto si applica ai polinomi ma il grado determina quando hai finito:
\ text {deg} r ( x) text {deg} d (x)
o non hai completamente ridotto il resto allelemento di grado più basso nella classe di equivalenza modulo d (x), o in termini meno matematici, puoi trova effettivamente unintera classe di polinomi equivalenti quando modifichi un dato polinomio, ma vuoi quello più piccolo con un grado compreso tra 0 e n-1 (compresi quegli estremi) come resto.
10 = 7 = 4 = 1 ~ \ text {mod} 3 ma solo uno è un caso di resto valido per la divisione intera lunga!
x ^ 4 + 1 = x ^ 2 + 1 = 1 ~ \ text {mod } x ^ 2 ma solo uno lo è un caso di resto valido per la divisione long polinomiale!
Quindi
\ text {deg} r (x) text {deg} d (x)