• 締切済み

Cプログラミング

d-2,3,4,…(可能な限り大きな値まで)に関して、d-ヒープソートの時間量を解析するプログラムを教えてください。

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

何に引っかかっているんでしょうか? ヒープソート自体ができているのであれば、対象の要素数を増加させながら 何回も繰り返して、それぞれについて時間を計測してみて その結果をみればよいのでは? 多分要素がn倍になったら処理時間はxxx倍になるというような結論を求めたいのでしょうけど。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C言語のプログラミングです

    #include<stdio.h> main() { int ip,amt; ip=1; amt=0; while(ip!=0){ if(0 == ip % 2){ printf("値を入力してください>"); } else{ amt += ip; printf("%d" , amt); } } printf("偶数の総和は%dです",amt); return 0; } を作成したのですが、上手く実行されませんでした。 「入力された値が偶数の時のみ総和に加えるプログラム」になるように、初心者にもわかるように解説していただけませんか?

  • プログラミングCについて

    次のプログラムは11の正の平方根の近似値を、以下の方法に基づいて小数点以下第4位の精度で求めるプログラムである。このプログラムが正しく動作するように下線部を埋め、プログラムを完成させなさい。なお、3の2乗は9であり、4の2乗は16なので、10の平方根は3と4の間であることはわかっているとしてよい。(小数点以下第4位の精度とは、小数点以下第4位までが真値ち一致するようにし、第5位以下については一致しなくてもよい事を意味する。よって、結果の表示自身に第5位以下が表示されても構わない。) double x; for(x=3;x<4;x+=0.0001) { for(_______) break; } printf("11の正の平方根は%______です。\n",x); 平方根を求める方法: 変数を3から4まで0.0001刻みで増やしながら、その2乗を計算していきます。最初は3なので、その2乗は9となり、11よりも小さい値になりますが、変数の増加に応じて2乗の値も増えていき、4の2乗になる前には11を越えます。この時の変数が11の平方根の近似値になります。 注意: このプログラムによる答えは3.3167となります。実際には、変数の2乗が初めて11を越えたときの変数の値よりも、その1ステップ前の変数の値が方が近似値として適切かもしれません。しかし、今回はそこまで考慮する必要はありません。

  • プログラミングC

    次のプログラムは、キーボードから5個の整数データを入力し、すべてのデータ入力が終わった後で、実行例に示すように、それらのデータを入力順とは逆の順序で表示するプログラムである。このプログラムが正しく動作するように下線部を埋め、プログラムを完成させなさい。 int ______,i; for(i=0;i<______;i++) { printf("NO.%d:",i++) scanf("%d", &a[i]); } for(i=4;_____;i++) printf("%d,",a[i]); printf("%d\n",a[0]); [実行例] No.1:5 No.2:3 No.3:8 No.4:2 No.5:2 2,2,8,3,5

  • C言語 プログラミング

    3個の整数値のなかで2番目に大きい値を求めて表示するにはどういったプログラムを書けばいいのですか?教えてください。

  • プログラミング

    どなたかバウンドパスフィルタのプログラムが分かる人いないでしょうか? プログラムが全くといっていいほど分からないのですが、 データ解析でBPFを使うので必要としています。 よろしくお願いします。

  • C言語のプログラミングについて

    あんまり詳しくないですが質問させていただきます。 コンパイラはBorlandです。 双曲線や楕円の式のx^2とy^2の計算で 例えば  x^2+4x+(4/3)y^2=12 の楕円の式で xの範囲と間隔を指定してからyを計算させるプログラムを作りたいのですが どうすればいいか教えてほしいです。 本当はgnuplotでグラフを作りたかったんですができないので プロットする値をプログラムで計算させてその値からgnuplotでグラフを 書きたいのですが・・・ わかりにくい質問ですがお願いします。

  • C言語でfor文を用いたプログラミングについてです。

    C言語のプログラミングの課題で以下のような表をfor文を用いて作るというものが出ました。 商品名 単価(円)個数(円) 計  A  50   20   ***  B  90   30   ***  C  30   80   ***        合計金額   *** A,B,C及びそれぞれの単価、個数の値はキーボードからの入力で、***は演算によりその結果を出力するようにします。つまり、商品名(1文字)と単価、そしてその個数をキーボードから入力すると、単価と個数をかけた値と、それら全ての合計が出力されるようなプログラムを作るということです。 私は以下のようなプログラムを作りました #include<stdio.h> int main(void) { int a,b,c,sum,allsum,i; printf("商品名 単価 個数 計\n"); for(i=1;i<=3;i++) { a=getchar(); scanf("%d %d",&b,&c);  sum=b*c; allsum +=sum; putchar(a); printf(" %d %d %d \n",b,c,sum); } printf("合計金額 %d\n",allsum); return 0; } しかしこれでは合計金額がちゃんと表示されなかったりしてうまくいきません。おそらくfor文の中身に問題があると思うんですが…。どうか正しいプログラムと、なぜこのプログラムではうまくいかないのかを教えていただきたいです。なにぶん初心者なもんで、よろしくお願いします。

  • cプログラミングについて…

    Cプログラミングの問題をわかんないで 解いてもらえませんか? t秒は何時間何分何秒か。 tを読み込み、結果を出力するプログラムをつくって下さい! お願いします!

  • Cのプログラミングを勉強中です。

    Cのプログラミングを勉強中です。 Aの値のBに対する割合を表示すしたいのですが、以下のように記述してもうまくいきません。 どこを直したらよいか教えていただけますか。 #include <stdio.h> int main(void) { int n1 , n2 ; printf("二つの整数を入力してください。\n"); printf("整数A:"); scanf("%d", &n1); printf("整数B:"); scanf("%d", &n2); printf("Aの値はBの%d%%です。\n" , n1 / n2 * 100 ); return(0); }

  • プログラミングC

    以下に示すプログラムは、キーボードから39文字以下の文字列を入力した後で、その文字列を表示するプログラムである。ただし、文字列の表示においては、printf命令における変換指定で、%sを使用するのが一般的であるが、以下のプログラムあえて%sを使用せずに、%cを使っている。このプログラムについてキーボードから入力される文字列の文字数が391文字以下である限り、その文字列を正しく表示できるよう、下線部を埋めてプログラムを完成させなさい。 char x[40],i printf("39文字以下の文字列を入力:"); scanf("%s",x); for(i=0;x[i]_____;i++) printf("%c",x[i]); printf("です。\n"); [実行例] 39文字以下の文字列を入力:programming 入力された文字列はprogrammingです。