• 締切済み

データ構造とアルゴリズム

途中の解き方も、あわせて教えて下さい。

この投稿のマルチメディアは削除されているためご覧いただけません。

みんなの回答

  • kamikami30
  • ベストアンサー率24% (812/3335)
回答No.2

調べましょうよ。 調べたら、参考にしたURL、文献など追記があれば、調べたんだなと思えます。

全文を見る
すると、全ての回答が全文表示されます。
  • kamikami30
  • ベストアンサー率24% (812/3335)
回答No.1

回答に図示するの難しくないですかね? 質問を見る限りでは丸投げ勘が凄すぎるのですが、実際のところどこがわからないのでしょうか? 理解して自力で解答できるようになるのが目的なら手助けしたいと思いますが、ただ解答だけ分かればいいというものだと回答しづらいです。

owada5
質問者

補足

(4),(5)を教えてください。

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

関連するQ&A

  • データ構造とアルゴリズム

    学校の課題なのですが、試験の得点順(降順)に学生番号と得点を表示することができるシステムを行っています。 仕様は下記の通りです。 外部仕様 1.試験の得点順(降順)に学生番号と得点を表示 2.機能メニュー(1:追加、2:削除、3:表示、1~3以外:終了)で操作できる 3.機能メニューの1:追加を選択すると、キーボードから学生番号と得点を入力することができる 4.機能メニューの2:削除を選択すると、キーボードから入力した学生番号のデータを削除することができる。 5.機能メニューの3:表示を選択すると、入力されているデータが、得点順に表示される 内部仕様 1. 使用言語はC言語とする 2. ダミーノードを使わない順方向リスト構造とする 3. リストのノードは構造体を使用する 4. リストのノードが常に得点の降順で並ぶように追加する 5. 入力データ型は、機能メニューを選択するための数字と得点は整数型、学生番号は文字列型とする 6. 先頭のノードのポインタを格納する変数名はheadとする 7. 全体の処理の流れは図1のとおりとし、【テンプレート・プログラム】の必要箇所に必要な機能を追加して完成させるものとする。テンプレート・プログラムで使用されている変数名は、そのまま使用すること。 8. 機能メニューは、関数名:menu()で表示する。menu()の仮引数は無し、戻り値は、キーボードから入力されたメニュー番号(整数)とする。 9. 機能メニューの1:追加では、関数名:insert()において先頭ノードから最後尾ノードに向けて順にキーボードから入力した得点と大小関係を比較し、得点の降順で並ぶように挿入位置を決めるためのアルゴリズムを考えて、新たなノードをリストに挿入する。関数名:insert()、仮引数:無し、戻り値:無し。なお、新しく追加するノードのポインタアドレスは変数pを使用する。追加する場所を探すために参照するノードのポインタアドレスは変数p2を使用する。 10. 機能メニューの2:削除では、関数名:del()においてキーボードから削除する学生番号を入力し、該当するノードを削除する。学生番号が見つからない場合は何もしない。関数名:del()、仮引数:無し、戻り値:無し。なお、文字列の比較には、strcmp()関数を使用する。 11. 機能メニューの3:表示では、関数名:disp()において先頭のノードから学生番号と得点を表示する。関数名:disp()、仮引数:無し、戻り値:無し。 この、追加機能のinsert、削除機能のdel、dispをどのように記述すればいいのかが分かりません。 分かる方宜しくお願いいたします。

  • データ構造とアルゴリズム

    C言語の勉強をしているんですが最近はアルゴリズムについての勉強をしたくAmazon等で検索しています。 現在手持ちの本ではCのプログラムの解説(書き方)が主でアルゴリズムについての解説がとてもすくないです。 やっぱりCのソースがあったほうがいいのですが、詳しく解説(証明)している本が欲しいです。 お勧めの本がありましたら紹介してください。

  • データ構造とアルゴリズムの違いについて教えて頂けないでしょうか。

    データ構造とアルゴリズムの違いについて教えて頂けないでしょうか。 データ構造とアルゴリズムについて学習しています。 (質問事項) ・データ構造とアルゴリズムの違いについて教えて頂けないでしょうか。 詳細に教えて頂けると大変助かります。 (私の現状) たとえば、データ構造は、単純なものでは、配列やコレクション、2分木などの構造で、アルゴリズムは2分木探索の実装方法だと思っています。 データ構造とアルゴリズムについては初心者です。 (現在、就職活動中で、これらを学ぶ必要がありご質問させて頂いています) どうか、皆様、教えて頂いた情報を最大限に活用させていただきますので、(皆様にとってはくだらない質問かもしれませんが…)どうぞよろしくお願いいたします。

  • データ構造とアルゴリズムの問題が分かりません。

    データ構造とアルゴリズムの問題が分かりません。 以下の問題で悩んでいます。 索引は書籍中の単語が書籍の何ページ目に出現するかを表す。もちろん、索引に含まれるある単語が複数のページに出現する場合や、索引に含まれる複数の単語が同一のページに出現する場合もある。 この索引で対象とする単語は、その書籍の中で重要な意味をもつものとして、また、特定の単語はたかだか数ページにのみ出現すると仮定する。 (1)単方向リストを用いてこのようなデータ構造を実現する場合、C言語ではどのように宣言をすれば適切か、struct宣言を用いて示しなさい。 (2)単方向リストを用いてデータ構造の場合、特定の単語が何ページ目に現れるか探すにはどのようなアルゴリズムを適用すれば適切か、探索に必要な時間計算量とともに示しなさい。 (3)二分探索木を用いてこのようなデータ構造を実現する場合、C言語ではどのように宣言をすれば適切か、struct宣言を用いて示しなさい。 (4)二分探索木を用いたデータ構の場合、特定の単語が何ページ目に現れるか探すにはどのようなアルゴリズムを適用すれば適切か、探索に必要な時間計算量とともに示しなさい。 (5)二分探索木を用いたデータ構の場合、アルファベット順の索引を出力するたねには、どのような整列アルゴリズムを適用すれば適切か、整列に必要な時間計算量とともに示しなさい。 テストに類題を出すと先生はおっしゃってたので、どうしてもすぐに回答が必要です。先生にも質問したのですが、テストに類題を出すから教えられない。自力で頑張れと言われ困っています。 どなたか御助力よろしくお願いいたします。

  • データ構造とアルゴリズムの問題です

    要素数がnである配列aの要素の最大値を求めるアルゴリズムのループ端によるフローチャートを完成せよ(前判定繰返し) max =a[0] i=1; while i<n do{ if(a[i]>max)max=a[i]; i++; } a[0] → max 1 → i 前判定繰返し □ | yes a[i]□max-----| |        □      NO i+1 → i 前判定繰返し □の中を埋めるんですが教えてください

  • データ構造とアルゴリズムの問題です

    要素数がnである配列aの要素の合計を求めるアルゴリズムのループ端によるフローチャートを完成せよ(後判定繰返し) sum =a[0] i=1; do{sum=sum+a[i]; i++; }while i<n; a[0] → sum 1 → i 後判定繰返し | □→sum; i+1 → i | □ 後判定繰返し □の中を埋めるんですが教えてください

  • [データ構造・アルゴリズム]ソーティングについて

    以下の空欄に入る言葉がわからないのでどなたか教えてください. n個のデータをソートすることを考える.n個のデータの大小関係は(1)通りある.1回の比較操作で,上手くいけば比較対象のデータは1/2になる.従って,k回の比較操作で,比較対象のデータは(2)になる.従って,k回の比較操作で全てのデータの大小関係を知るためには,(3)という関係が必要である. 2を底とした両辺の対数をとるとk≧log(n!)という関係が成立する. Stirlingの公式 n!≒√2πnn^ne^(-e)を利用して log(n!) = (中略) = n log n - n log e + 1/2 log(2πn)となる. このうち(4)に比べて他の項は急速に小さくなるので,最終的には log(n!) ≒ n log n と考えてよい.つまり,並べ替えには最低(5)の計算の手間が必要であることがわかる. 自分で考えた答えは (1)log(n!) (2)n^-k (3)k ≧ log(n!) (4)n log n (5)n log n なのですが・・・どうでしょうか?非常に困っているので,よろしくお願いします!

  • データ構造とアルゴリズムの問題が分かりません。

    以下の問題で悩んでいます。 1 配列とリストでデータを末尾に追加する場合の時間計算量をO記法で表せ。 2 配列とリスト、それぞれの時間計算量以外の利点と欠点をなるべく多く挙げよ。 3 データ構造「スタック」、「キュー」を配列もしくはリストで実現した場合、それぞれの利点と欠点を挙げよ。 4 アルゴリズム「線形探索」、「二分探索」で特定のデータを検索するための時間計算量をO記法で表し、またその理由も記述せよ。 5 データを検索する操作のほうが多い場合と、データを追加する操作が多い場   合、 「線形探索」と「二分探索」どちらが有利か理由をつけて述べよ。 1は、挿入と削除はO記法で表せたのですが、追加が分かりませんでした。 2は配列の利点はランダムアクセス可能な点と任意のデータをすぐに扱える点の2点 リストの利点は扱うデータを自由に変えられる点の1点しか思いつかず、欠点はよく分かりませんでした。 3、4、5も理由をつけて説明しろと言われたら無理です。 テストに類題を出すと先生はおっしゃってたので、どうしてもすぐに回答が必要です。先生にも質問したのですが、テストに類題を出すから教えられない。自力で頑張れと言われ困っています。 どなたか御助力よろしくお願いいたします。

  • [データ構造・アルゴリズム] B木について

    B木について分からないことがあるので教えて頂けたらありがたいです. 1. 平均で16個の子ノードのあるBツリーでは,100万件のデータにアクセスするとすると,最大何回のアクセスが必要になるか?また,その時に必要となる時間は何秒か?ハードディスクからのデータの転送時間は無視できるものとし,データはディスクの上にランダムに並んでいるものとする. 2. B木はメモリ上のデータへのアクセスよりは,外部記憶装置へのアクセスに適しているといわれている.その理由を簡潔に述べよ. 3. B木の1つのノードに格納できるキーの数を増やしていけば,データアクセスの効率はどうなっていくか?定性的に結果を推測せよ. 自分で考えた解答は 1. 10回 2. 探索がやりやすくなるから(よく分かりません・・・) 3. 良くなっていく(よく分かりません・・・) なのですがどうでしょうか?真剣に分からないのでアドバイスなど良かったらお願いします!

  • 東大院試のアルゴリズムとデータ構造の対策について

    東大情報理工学系研究科の電子情報学専攻を、将来受験しようと思っている大学2年です。 とある東大院試対策のサイトを見ていたところ、 東大情報理工学系研究科電子情報学専攻の院試の"アルゴリズムとデータ構造"の 対策の参考書として、 石畑清著の「アルゴリズムとデータ構造(岩波講座 ソフトウェア科学 3)」 http://www.amazon.co.jp/dp/4000103431/ref=as_sl_pc_tf_lc?tag=masaa0909-22&camp=1027&creative=7407&linkCode=as4&creativeASIN=4000103431&adid=1457SVYVYB097YSW8HXE&&ref-refURL=http%3A%2F%2Fblog.livedoor.jp%2Fsouzouzyouhou2%2Farchives%2F1007400273.html が紹介されていました。 しかし、私は既に柴田望洋著の「明解 Javaによるアルゴリズムとデータ構造」という 参考書をやっており、しかもあともう少しで読み終わりという段階です。 そこで質問なのですが、「明解 Javaによるアルゴリズムとデータ構造」を終えた後に、 石畑清著の「アルゴリズムとデータ構造(岩波講座 ソフトウェア科学 3)」  もやっておくべきでしょうか? それとも、やる必要はないでしょうか? 調べてみたところ、どうやら 石原清著の「アルゴリズムとデータ構造(岩波講座 ソフトウェア科学 3)」は、 東大のプログラミングの講義で教科書として使われているみたいなので、 やるべきか否か非常に迷っております。 (東大院試対策のサイトによると、内部生と同じ教科書で勉強するのが 院試対策として有効らしいので) 因みに、もしやる必要がないのであれば、今やっている柴田望洋著の参考書を 終わらせた後に「アルゴリズムイントロダクション」という参考書を1巻・2巻ともに やろうと思っています。 アルゴリズムイントロダクション1巻 http://www.amazon.co.jp/dp/4764904063/ref=as_sl_pc_tf_lc?tag=masaa0909-22&camp=1027&creative=7407&linkCode=as4&creativeASIN=4764904063&adid=1NH5SRG929KZQ3DDVWNH&&ref-refURL=http%3A%2F%2Fblog.livedoor.jp%2Fsouzouzyouhou2%2Farchives%2F1007400273.html アルゴリズムイントロダクション2巻 http://www.amazon.co.jp/dp/4764904071/ref=as_sl_pc_tf_lc?tag=masaa0909-22&camp=243&creative=1615&linkCode=as1&creativeASIN=4764904071&adid=1VJYPYJWA2RARH4JA1MB&&ref-refURL=http%3A%2F%2Fblog.livedoor.jp%2Fsouzouzyouhou2%2Farchives%2F1007400273.html それでは回答よろしくお願いします。