2017-10-31 16 views
0

Pseudopolynom bedeutet, dass es in Bezug auf die Größe der Eingabe polynomial ist, aber in Bezug auf die Größe der Eingabe exponentiell ist. Im Rucksack wird O (nW) als Pseudopolynom angesehen. Ich habe einige Leute gesehen, die nx oder ny nennen, so ziemlich alles mit n, Pseudopolynom, denn wenn n groß wird, betrachten sie ns Bitlänge mehr. Also ist es wahr, dass alles mit einer Variable, die mit ihrer Größe als Polynom betrachtet werden kann, tatsächlich Pseudopolynomial ist?Pseudopolynom von konstanten Zeiten

Antwort

1

Wenn Sie Ihre Eingabe eine einzelne Zahl, wie "is the number x a prime number" ist, dann O(x) (oder O(sqrt(x)) pseudo Polynom - die Eingangsgröße ist O(logx) in diesem Fall Polynom so in x nicht Polynom in der Eingangsgröße bedeutet

. Wenn Ihre Eingabe jedoch ein Array mit n Elementen ist, dann ist die Eingangslänge selbst linear in n, und O(n) bedeutet Polynom und nicht Pseudopolynom

+0

Also sagen wir, wenn c * n wo n ist ein Array, aber c ist eine ganze Zahl, bedeutet es, dass c * n Pseudopolynomial ist? –

+0

@JeffC Wenn die Ausgabe in 'c' Polynom ist, dann ja - es ist. – amit