Melhor resposta
Google é seu amigo: de Complexidade de tempo – Wikipedia
Tempo polinomial
Diz-se que um algoritmo é de tempo polinomial se o tempo de execução for limite superior por uma expressão polinomial no tamanho da entrada para o algoritmo, ou seja, T ( n ) = {\ displaystyle O (n ^ {k})} para alguma constante positiva k .
Os problemas para os quais existe um algoritmo de tempo polinomial determinístico pertencem à classe de complexidade P , que é central no campo da teoria da complexidade computacional . A tese de Cobham “ afirma que o tempo polinomial é um sinônimo de” tratável “,” factível “,” eficiente “ou” rápido “.
Alguns exemplos de algoritmos de tempo polinomial:
- O classificação de seleção algoritmo de classificação em n inteiros executa {\ displaystyle An ^ {2}} operações para algumas constantes A . Portanto, ele é executado no tempo {\ displaystyle O (n ^ {2})} e é um algoritmo de tempo polinomial.
- Todas as operações aritméticas básicas (adição, subtração, multiplicação, divisão e comparação) podem ser feitas em tempo polinomial.
- Correspondências máximas em gráficos podem ser encontradas em tempo polinomial.
Eu poderia sugerir alguns cursos tradicionais em ciência da computação, como algoritmos usando um texto como Introdução aos algoritmos ( também conhecido como CLRS) até mesmo um curso de estruturas de dados simples, como o descrito no paper Um curso de ciência da computação que unifica a teoria e a prática que usa o texto clássico de Wulf, Shaw, Hilfinger e Flon Estruturas fundamentais da ciência da computação .
Resposta
Se dividirmos um polinômio p (x) por algum polinômio d (x), então estamos encontrando algum quociente q (x) tal que p (x) = d (x) q (x) + r (x) onde r (x) é nosso resto.
Suponha que r (x) tivesse grau ≥︎ n, então poderíamos ter modificado mais dele dado que d (x) é grau n até nosso novo r (x) ^ {*} tinha grau estritamente menor que d (x)
Digamos que temos p (x) = x ^ 4 + 1 e d (x) = x ^ 2:
x ^ 4 + 1 = x ^ 2q (x) + r (x)
claramente q (x) = x ^ 2
x ^ 4 + 1 = x ^ 2 \ cdot {x ^ 2} + r (x) ⇒︎ r (x) = 1
Agora eu poderia prosseguir e tentar dizer que q (x) = x e g et:
x ^ 4 + 1 = {x \ cdot {x}} ^ 2+ (x ^ 4-x ^ 3 + 1)
r (x) = x ^ 4-x ^ 3 + 1?
mas não é isso que queremos!
Isso é análogo à divisão / resto em inteiros:
p = dq + r
7 = 2 \ cdot {3} +1 está correto
7 = 1 \ cdot {3} +4 não é desejável, pois não dividimos totalmente pelo nosso divisor e deixou um r maior do que deveríamos.
O mesmo conceito se aplica aos polinômios, mas o grau dita quando você termina:
\ text {deg} r ( x) text {deg} d (x)
ou você não reduziu totalmente o restante ao elemento de menor grau na classe de equivalência módulo d (x), ou em termos menos matemáticos, você pode na verdade, encontre uma classe inteira de polinômios equivalentes quando você modifica por um determinado polinômio, mas você quer o menor com grau entre 0 e n-1 (incluindo aqueles pontos finais) como resto.
10 = 7 = 4 = 1 ~ \ text {mod} 3 mas apenas um é um caso de resto válido para divisão longa inteira!
x ^ 4 + 1 = x ^ 2 + 1 = 1 ~ \ text {mod } x ^ 2, mas apenas um é um caso de resto válido para divisão longa polinomial!
Então,
\ text {deg} r (x) text {deg} d (x)