• 締切済み

B木のプログラムについて

Javaアプレットで学ぶデータ構造とアルゴリズムを勉強中です。 「B木プログラムを作ってみよう」という演習問題なのですが、簡単がプログラムを教えていただけないでしょうか。 宜しくお願いいたします。

みんなの回答

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

「B木」と「バイナリツリー」とは違うものですが>#1, 「演習問題」なら「B木の概念」とか「どんなふうに作るのか」くらいは既に学んでいるのではないの?

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

バイナリツリー Java でぐぐると結構出てきます まずはそこから

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

関連するQ&A

  • 二分探索木の行きがけ順走査

    二分探索木の行きがけ順走査は、普通再起を使うと思います。 再起を使わず、しかも木以外のデータ構造を一切使わないでやることもできる聞いたのですが、具体的にはどうすればいいのでしょう。 木以外に何か使ってもいいのなら、 http://www.psg.cs.titech.ac.jp/pro1/11.pdf の『再起を使わないアルゴリズム』みたいにすれば良いことは調べてわかりました。 再起も使わないで出来るのであれば、自分でもJavaを使って書いてみようかと思っているのでカテゴリはJavaにしました。よろしくお願いします。

    • ベストアンサー
    • Java
  • javaのステップアップ

     java初心者です。「やさしいJava」を読み終えたところなのですが、今後どのようなプログラムを組めば良いのか少し悩んでいます。  いちおう、アルゴリズムとデータ構造などを勉強しているのですが、具体的にそれらを組み込めるようなプログラムがイメージできないのです。初心者→中級者となって行く過程で、みなさんはどのようなプログラムを書いてこられたのでしょうか?  また、javaのAPIなども勉強したいと思っているのですが、これらを組み込むようなプログラムもまた、さっぱり検討がつきません。よろしければお聞かせください。

    • ベストアンサー
    • Java
  • ファイル上でB木

    B木中のデータをメモリ上ではなくファイル上に展開したいのですが、何か効率のよい方法はあるでしょうか? ・1ファイルにB木のデータを保存させて一旦メモリにロードさせ、変更があればメモリ上でB木の更新をして、全データをファイルに書き出す だと効率がわるそうですし、 ・ツリー上のブロックごとに1ファイルを使う となると、ファイル数が増えそうですし。 MySQL等だとインデックスファイルは確か1ファイルになっていますよね。 B木系を扱うようなデータベースの基本的な構造をご存知の方、もしくはそのうな解説サイトをご存知の方、アドバイスをお願いします。

  • アルゴリズムの2-3-4木

    アルゴリズムの2-3-4木 アルゴリズムの平衡木の一種である2-3-4木を使い、テキストファイルに書かれている文中の英単語1文字1文字を挿入し(同じ単語は1度だけ)、全ての単語の配置(パラグラフ、行数)を表示するというプログラムを考えているのですが、どのように組めばいいのかがわかりません。 例えばテキストファイルの文中に、studyという単語が1つ目のパラグラフの2行目、2つ目のパラグラフの4行目にあれば、 study (1,2) (2,4) と表示するプログラムです。2-3-4木ではどのようにデータを格納していくかはわかったのですが、データの挿入やノードの分割などをプログラムではどのように書けばいいのでしょうか。 どなたかご教授お願いいたします。

  • アプレットからサーバ側のプログラムを起動したいのですが…

    仕事でJavaを使うことになったのですが、プロジェクト員一同Java初心者で、必死にJavaを勉強していますが、以下のことで困っています。申し訳ありません。助けてください。 UNIXサーバ側の設定とかをいじるプログラムがあるのですが、それをアプレットにして、SEさんがリモートからでも操作出来るようにしろ、と言われました。 とりあえず、Javaアプレットからサーバ側(アプレットのクラスが置いてあるのと同じマシン)のCプログラムを起動し、その結果を受け取るようにしたいのですが、Java経験者に相談したら「アプレットにはセキュリティ上の問題があるのでCGIかServletを使わないと出来ない」と言われました。 では…とServletの勉強を初め、サーバー側にServletEngineをいれてみたのですが、 ServletはHTTPポートと違うポート(8000番とか)を開けてそこにアクセスしなくてはいけないようにみえます。それならクライアント側プログラムをアプレットにし、サーバ側プログラムとSocket通信で結び、サーバ側プログラムがCプログラムを起動、としたほうが楽そうですが、ひとつしかポートを開きたくないと言われたのです。 もしかして「アプレット+Servlet が アプレット+CGI相当」じゃなく「Servlet が アプレット+CGI相当」なのでServlet用のポートだけ開けとけばいいとかいうことでしょうか?  とか思っていたら、JNIでC言語のメソッドをJavaメソッド扱いするとかいう話も小耳に挟みました。それでできるのかしら? ・webポートだけを開いて ・サーバ側のCプログラムを起動してその結果を受け取る ・クライアントのマシンにあらかじめインストールしなくても、ブラウザからアクセスすると操作が対話的に出来るような ものを簡単に作ろうとしたら、一体何を勉強するべきなのでしょうか…。 Applet+CGI? Applet+Servlet? RMI? JNI…? 助けてください…(TT)

    • ベストアンサー
    • Java
  • アルゴリズムのB木について

    B木がどんな構造なのかいまいち分かりません、詳しく分かりやすく載っているHPなどないでしょうか?

  • 木構造(位相構造)を比較するアルゴリズムって?

    木構造(位相構造)を2つ用意し、根からたどって比較してゆき、 差分をとるようなプログラムを書こうと思っています。 しかしアルゴリズムがまったくわからないので質問させていただきます。 子ノードの順番が異なる場合も同じものと見なすような条件で、 末端にノードが追加された程度の差異がわかればよいです。 (鏡に映した構造や、子ノードがABCという順だったのを、ACBにしたような構造は同じものと見なしたいということです。) このようなアルゴリズムというのはあるのでしょうか?

  • 2分木と双方向線形リストを同時に実現する方法

    ファイルに書かれている文字列を読み込み, (1)ソートしてファイル出力 (2)読み込んだ順と逆順にファイル出力 というプログラムを作成する場合, (1)は2分木のデータ構造を用いて実現したのですが,2分木のデータ構造をそのまま利用することで逆順に出力させることは可能でしょうか? 私は無理だと思うので,2分木に加えて双方向の線形リストになるようにポインタを設定する必要があると考えているのですが,もっと上手く実現するアルゴリズムはあるでしょうか? アドバイスを頂けるとありがたいです.

  • javaのプログラムで間違い箇所が分からない。

    <<Javaサンプルプログラム集:共立出版(株)という 書籍でjavaの勉強をしています。 付属のCD-ROMのサンプルプログラムコンパイルはできるのですが、アプレット起動出来ません。 何故なんでしょう??

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

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