ページ 11

アルゴリズム

Posted: 2008年11月21日(金) 22:43
by 我九
 問題は平衡性の高速化の文字列の検証です。

 文字列をキーとする二分探索木、AVL木の2つを作成する(追加関数)。
ファイルを読み込み、2種類の木を生成する。
読み込みレコード数(要素数)を以下のように10万ずつ増加させた時点で、
   1万、2万、3万、・・・・・、9万、10万
両木の高さ、および構築時間を測定する。

という問題です。

整数での問題としてはこんな感じかな、とできたんですが
文字列はどこをいじっていいのやら;;

何でも良いので、ヒントなどのせてください。

OS:Linux コンパイラ名:gcc

Re:アルゴリズム

Posted: 2008年11月22日(土) 09:24
by たいちう
> 整数での問題としてはこんな感じかな、とできたんですが
> 文字列はどこをいじっていいのやら;;

文字列の比較にはstrcmpが使えます。

Re:アルゴリズム

Posted: 2008年11月22日(土) 09:59
by non
> 整数での問題としてはこんな感じかな、とできたんですが

プログラムを途中まで見たんですが、あきらかにエラーや警告が出そうです。
ほんとうに出来てるんですか?
字下げは、TABで行って下さい。読みにくいです。

Re:アルゴリズム

Posted: 2008年11月22日(土) 10:34
by Mist
>> nonさん
> 字下げは、TABで行って下さい。読みにくいです。

きちんとしたルールの下で字下げされているので私はそんなに見にくいとは思いません。
コーディングスタイルは人それぞれですし、全くされていない、とか無秩序に下げられているとかでもなければ特に問題ないと思いますけど。

>> 我九さん
変数名をnewって名前にするのはやめたほうがいいと思います。
たぶんCでコンパイルしているためエラーになってないものと思いますが、C++のnew演算子と混同してしまいそうです。
あと、add_node関数で値を返さないreturnが存在します。(108行目)

Re:アルゴリズム

Posted: 2008年11月22日(土) 10:50
by 我九
>たいちろうさん
ありがとうございます。
strcmpだろうなというのは分かるんですけど、(入れるであろう大体の場所も)
strcmpとともに何か他の文も入れた方がいいのでしょうか?

>nonさん
一応字下げは行ってあるのですが。。。
ちなみにこのプログラムでのエラーはでてないです。

>Mistさん
ありがとうございます。
それで少し行ってみます。

Re:アルゴリズム

Posted: 2008年11月22日(土) 12:07
by non
>きちんとしたルールの下で字下げされているので私はそんなに見にくいとは思いません。
>コーディングスタイルは人それぞれですし、全くされていない、とか無秩序に下げられているとかでもなけれ
>ば特に問題ないと思いますけど。

まぁ、字下げはされてはいますけど、forやwhileの中のifの{の位置があそこだと、読みにくくって・・
それは、そうと、コンパイルしてみたら確かにエラーは出ませんでした。(new以外は)失礼しました。
mainで使ってない変数と、returnの後の変数がないところまで、読んで止めましたので、きっとコンパイル
しても無駄だと思って、レスしちゃいました。

Re:アルゴリズム

Posted: 2008年11月22日(土) 15:55
by non
ここの意味だけがよくわかりませんでした。
if(((j)/g)==100000){
			printf("  %7d  %4d     %f\n",j,hi,time);
			g++;
		}
>読み込みレコード数(要素数)を以下のように10万ずつ増加させた時点で、
>   1万、2万、3万、・・・・・、9万、10万
>両木の高さ、および構築時間を測定する。

if(((j)/g)==10000){ の間違いでしょうか?

Re:アルゴリズム

Posted: 2008年11月23日(日) 11:40
by 我九
>nonさん

多分その辺は一応、講師のところから
とってきているんで、間違ってはいないと思います。

Re:アルゴリズム

Posted: 2008年11月23日(日) 12:27
by 初級者
講師からもらったものがいつも正しいとは限りません。
常に「自分で」確かめることが大事だと思います。

Re:アルゴリズム

Posted: 2008年11月23日(日) 14:16
by non
10万個のデータで1万個おきに、出力されていれば、問題ありません。
私は試しておりませんが、最後の10万個の時にしか、出力されないような気がしたものですから。

ところで、プログラムは完成したでしょうか?

Re:アルゴリズム

Posted: 2008年11月23日(日) 22:51
by 我九
>nonさん

多分大丈夫だと思うんですが、もう一度確かめてみます;;
一応完成したにはしたんですけど、もとのプログラムからさほどいじってないため
結果がちょっとおかしくなってます;;