• ベストアンサー

アルゴリズムの計算量とオーダ

多項式P(x) = (AnX^n)+(An-1X^n-1)+…A1X+A0と、この式を変形した P(x) = (…((AnX+An-1)X+An-2)X+…+A1)X+A0を、式どおりに計算すると各々の演算回数はどうなるでしょうか? (Aの横のnや1などの数字は配列番号です) また、これらの結果をオーダ表記で表す場合どのように考えれば良いでしょうか? よろしくおねがいします

質問者が選んだベストアンサー

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

演算回数は,前者が (n(n+1)/2)+n,後者が2n。 オーダは,O(n^2),後者がO(n)。

nullnull00
質問者

お礼

ご回答頂きありがとうございます 変形前と変形後の多項式では結果がここまで変わるものなんですね。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「演算回数」の定義にもよるはずですが, あなたはどうなると思いますか?

nullnull00
質問者

補足

ご回答頂きありがとうございます 実のところアルゴリズムはまだ習ったばかりでよくわかってないのです… 「演算回数」というのは恐らく時間計算量のことだと思います。

関連するQ&A

  • 数列の問題で。。。

    (X+1)^nを X^2-2X-2で割った余りを AnX+Bn (n=1,2,3・・・)とする。 An+1、Bn+1をそれぞれAn Bnを用いて表せ。 という問題があり、 解答では、 (X+1)^n=(X^2-2X-2)Q(X)+AnX+Bn ・・・・(1)とおく。 (1)の両辺に(X+1)をかけて、 (X+1)^n+1=(X^2-2X-2)(X+1)Q(X)+AnX(X+1)+Bn(X+1)(2) =(X^2-2X-2)(X+1)Q(X)+AnX(X^2-2X-2)+(3An+Bn)X+(2An+Bn)・・・・(3) これより An+1=3An+Bn Bn+1=2An+Bn ということだそうですが、(3)以下がまったくわかりません。 なぜ、(2)の式から(3)の式になったのでしょうか? よってAn+1=3An+Bn Bn+1=2An+Bn になるのも、なぜなのかわかりません。。。。

  • 数列 漸化式

    こんばんは、 数列の漸化式、特性方程式について質問します。 An+1=pAn+q(n=1,2,3、、)p,qは定数はα=pα+qを満たすαを用いて、An+1-α=p(An-α)と変形出来ますよね。 そこで質問なのですが、An+1=pAn +qはAn+1とAnが連続しているからαと置いて、変形できるんですよね? ある問題を解いていて、A2n+1=1/2A2n-1 +1/2(n=1,2,3、、)という式も、 特性方程式を用いて、A2n+1-1=1/2(A2n-1-1)と変形していました。こちらの式は、A2n+1とA2n-1は連続していませんよね? 私の、特性方程式の使い方間違っているんでしょうか? よくわからないので、教えていただきたいです。お願いします!

  • 原始多項式について

    一意分解環Aとその多項式環A[x]∋f(x)について、次の(1), (2)は同値であることを証明したいのですが、 (1)f(x)は原始多項式である (2)任意の素元p∈Aに対して、f(x)をpを法として考えた多項式f'(x)∈(A/(p))[x]は零でない (2)のf(x)をpを法として考えた多項式とは a0, b0, …, an, bn∈Aを用いて f'(x)=(a0/pb0)x^n+…+(an-1/pbn-1)x+(an/pbn) と表せる事(だと思う、、)で、 原始多項式とは f(x)=a0x^n+…+an-1x+anについて、a0, …,anの最大公約元が可逆元であることなので、 (2)⇒(1)はf'(x)=(a0/pb0)x^n+…+(an-1/pbn-1)x+(an/pbn)が零でなければ、a0, …,anの最大公約元が可逆元となるように示して行けば良いと思うのですが さっぱり分かりません。 (1)⇔(2)の証明をご教授頂けると助かります。 よろしくお願いいたします。

  • このアルゴリズムを何回繰り返せばよいのか。

    次のようなアルゴリズムAがある。 P(x)=1であるような入力xに対しては必ず正しい答え1を出すが、 P(x)=0であるような入力xに対しては確率0.001で正しい答えを出し、 確率0.999で間違った答えを出す。 この時、どんな入力に対しても確率0.99以上で正しい答えを出すアルゴリズムを構成せよ。 という問題なのです。 答えは  0.01 > (0.999)**n   ( (0.999)**nは0.999のn乗の意味 ) が成り立つ最小のn回アルゴリズムを繰り返せばよいと考えたのですが、 この式を解くとnが2000以上になると思います。 難しくてきちんとしたnの値は出てきませんでした。 何かこの式を簡単に解く式変形の仕方ってありますか?? それともこの問題をこの式で解くのが間違っているのでしょうか??? よろしくお願いします!!!

  • 多項式の変換

    お世話になります。 多項式y=a0x^0 + a1x^1 + a2x^2 + ... + anx^nという多項式があります。(a0...anは定数) この多項式をx=の形で表現したいのですが、どういった知識またはテクニックで実現するのでしょうか? ある曲線(多項式で表現)をy=xの直線に対して線対称な曲線にしたく、このようなことを考えています。 y=x^2+1 程度のものなら x = ±√(y-1)として簡単にもとまりますが・・・ アドバイスよろしくお願いします。

  • 解析の証明がわかりません。

    解析の問題です。 問、多項式f(x)を(x-α)の多項式f(x)=a0+a1x+a2x^2+…+anx^nについて次の問いに答えよ。 (1)f(x)を(x-α)の多項式f(x)=b0+b1(x-α)+b2(x-α)^2+…+bn(x-α)^nとあらわすとき、bk=f^(k)(α)/k! (k=0,1,2,…,n)となることを示せ。 (2)x=αが方程式f(x)=0のk重根であるための必要十分条件は、 f^(0)(α)=f^(1)(α)=f^(2)(α)=…=f^(k‐1)(α)=0 , f(k)(α)≠0 であることを示せ。 の示し方がわかりません。 わかる方は教えてください。お願いします。

  • 高校数列

    数列{An}の初項から第n項までの和をSnとする。A2=3. n・Sn=(n-1)(2An+2-n) (n=1、2、3・・・・・)を満たし手いるとき (1) 数列{An}はn・A(n+1)-2(n+1)・An=n+2 ・・(1) (n=1、2、3・・・・・)を満たすことを証明せよ (2) Anをnの式で表せ ちなみにA(n+1)は数列{An}の第n+1項を意味します この問題で(1)は証明できたのですが(2)での解答で n・A(n+1)-2(n+1)・An=n+2 ・・(1)から n(A(n+1)+1)=2(n+1)(An+1)という変形がみられるのですがどうしてそうなるのかわかりません。確かに両辺に+nをすると変形できたり 。あるいは特性方程式よりα=1と求まり変形できるのですが、ここでは変数nがあるので特性方程式が利用できるのかもわかりません。 どなたかわかる人がいましたらお願いします。

  • 以下の問題が与えられたのですが、

    以下の問題が与えられたのですが、 (4)という定義なしに答える方法はあるのでしょうか? 本問では(4)という定義はありません。 どなたか教えていただけると助かります。 質量m、角振動数ωの1次元調和振動子の ハミルトニアンは(1)式で与えられる。 ここでp(^は省略します)は運動量演算子、 xは位置演算子であり、交換関係[x,p]=xp-px=ih/2πを満たす。 また、(2)、(3)で定義される2つの演算子を考える。 演算子N=a†aの固有値をnとし、 その規格化された固有状態を|n>とする。 すなわちN|n>=n|n>,<n|n>=1である。 次の2つの関係式が成り立つことを示し、 係数A,Bを求めよ。 a†|n>=A|n+1>, a|n>=B|n-1> ただしA,Bは正の実数とする。

  • アルゴリズムの計算量O(n)の証明

    O()ビッグオーダについての証明問題なのですが どうすればよいのかわかりません。どなたか教えていただけませんか? O(n*log n + n) = O(n*log n)を証明せよ f(n) ε O(n) f(n) > 0で、ある定数Cがあり ここでlim n→∞ f(n)/n ≦ C おそらく上を使うと思うのですが式変形を行っても 左辺-右辺で0にできません。ひょっとしたら はさみうち等を使うのでしょうか? よろしくお願いいたします。

  • 線形代数の問題がわかりません。教えてください。

    次のn元同時連立一次方程式を解け。ただしa1+a2+‥+an=1である。 (a1-1)x1+ a1x2+‥a1xn =0 a2x1+(a2-1)x2+‥a2xn =0 ‥‥‥‥‥ anx1+ anx2+‥(an-1)xn=0 という問題です。