Legjobb válasz
A Google a barátod: Idő összetettsége – Wikipédia
Polinomiális idő
Egy algoritmus állítólag polinom idő , ha futási ideje felső korlátja egy polinom kifejezés az algoritmus bemenetének méretében, azaz T ( n ) = {\ displaystyle O (n ^ {k})} valamilyen pozitív konstansra k .
Problémák , amelyeknél létezik determinisztikus polinom időalgoritmus, a komplexitás osztályba tartoznak P , amely központi szerepet játszik a számítási komplexitáselmélet területén. Cobham tézise kijelenti, hogy a polinomiális idő a “traktálható”, “megvalósítható”, “hatékony” vagy “gyors” szinonimája.
Néhány példa a polinomiális idő algoritmusaira:
- A kiválasztási rendezés rendezési algoritmus a n egész számok {\ displaystyle An ^ {2}} műveleteket hajtanak végre onst. A állandó esetén. Így idővel fut {O displaystyle O (n ^ {2})}, és ez egy polinomiális idő algoritmus.
- Az összes alapvető számtani művelet (összeadás, kivonás, szorzás, osztás és összehasonlítás) polinomiális időben elvégezhető.
- Az grafikonok maximális egyezései polinomidőben találhatók.
Javasolhatom néhány hagyományos informatikai tanfolyam elvégzését, például algoritmusok használatát olyan szöveg használatával, mint Bevezetés az algoritmusokba ( más néven CLRS) még egy egyszerű adatstruktúra-tanfolyam is, például Flon ACM papír Alapvető CS tanfolyam, amely egyesíti az elméletet és gyakorlatot , amely Wulf, Shaw, Hilfinger és Flon klasszikus szövegét használja A számítástechnika alapstruktúrái .
Válasz
Ha a p (x) polinomot elosztjuk valamilyen d (x) polinommal, akkor találunk olyan q (x) hányadost, hogy p (x) = d (x) q (x) + r (x) ahol r (x) a maradékunk.
Tegyük fel, hogy r (x) fokozata ≥︎ n volt, akkor többet modifikálhattunk volna belőle, mivel d (x) értéke n fok, amíg új r (x) ^ {*} fokozata szigorúan kevesebb volt, mint d (x)
Mondjuk, hogy p (x) = x ^ 4 + 1 és d (x) = x ^ 2:
x ^ 4 + 1 = x ^ 2q (x) + r (x)
egyértelműen q (x) = x ^ 2
x ^ 4 + 1 = x ^ 2 \ cdot {x ^ 2} + r (x) ⇒︎ r (x) = 1
Most folytathatnám, és megpróbálhatnám mondani, hogy q (x) = x és g et:
x ^ 4 + 1 = {x \ cdot {x}} ^ 2+ (x ^ 4-x ^ 3 + 1)
r (x) = x ^ 4-x ^ 3 + 1?
de egyáltalán nem ezt akarjuk!
Ez analóg az egész számokban történő felosztással / maradékkal:
p = dq + r
7 = 2 \ cdot {3} +1 helyes
7 = 1 \ cdot {3} +4 nem kívánatos, mivel nem osztottuk el teljesen osztónk által, és nagyobb r-t hagyott, mint kellett volna.
Ugyanez a fogalom vonatkozik a polinomokra, de a fok diktálja, ha kész:
\ text {deg} r ( x) text {deg} d (x)
vagy a maradékot nem redukálta teljesen a legalacsonyabb fokozatú elemre az ekvivalencia osztály modulo d (x), vagy kevésbé matyás kifejezéssel, valójában találjon egy teljes polinom osztályt ekvivalensnek, ha egy adott polinommal módosít, de a legkisebbet 0 és n-1 közé szorított fokkal (beleértve azokat a végpontokat is) szeretné megmaradtként megadni.
10 = 7 = 4 = 1 ~ \ text {mod} 3, de csak egy érvényes eset az egész hosszú osztás esetén!
x ^ 4 + 1 = x ^ 2 + 1 = 1 ~ \ text {mod } x ^ 2, de csak az egyik érvényes maradék eset a polinom hosszú felosztásához!
Tehát
\ text {deg} r (x) text {deg} d (x)