none
DataGridViewで探索木を表現する方法 RRS feed

  • 質問

  • 質問させていただきます.

    よろしくお願いします.

     

     

    DataGridViewに以下のデータが入っているとします.

    A // dataGridView.Rows[0].Columns[0]

    B // dataGridView.Rows[1].Columns[0]

    C // dataGridView.Rows[2].Columns[0]

    D  // dataGridView.Rows[3].Columns[0]

     

    それを以下の順に取り出すとします.

    (1) A→B→C

    (2) A→B→D

     

    質問は,C#でサポートされていないポインタを利用してDataGridVIewを用いた探索木を作成するのは無理なのでしょうか?

    よろしくお願いします.



    2012年2月2日 7:04

回答

  • "DataGridView を用いた探索木" というもののイメージがつかないのですが、
    ポインターを使わなくても C# で探索木を作ることは可能ですよね?
    • 回答の候補に設定 山本春海 2012年2月21日 7:57
    • 回答としてマーク 山本春海 2012年2月27日 8:30
    2012年2月2日 7:32
  • 外池と申します。ご質問の内容で、何が一番強い制約条件なのかがイマイチ不明なので、的外れな回答になるかもしれませんが・・・。

    ごくごく一般論として、C#で探索木を表現することは十分に可能です。C#は参照型の変数が標準でサポートされていますので、実質ポインタと同様に、あるオブジェクトが別のオブジェクトを指し示す「構造」を作ることは可能です。

    DataGridViewをお使いになりたい理由は、表示上の要求があるからでしょうか? そのあたりもう少しご説明頂けるとレスがつき易いと思います。

    ちなみに、私は、探索木の構造を独自に作ることはイメージできますが、DataGridViewをどう使うかはイメージが沸きません。


    (ホームページを再開しました)
    • 回答の候補に設定 山本春海 2012年2月21日 7:57
    • 回答としてマーク 山本春海 2012年2月27日 8:30
    2012年2月2日 7:35
  • 質問は,C#でサポートされていないポインタを利用してDataGridVIewを用いた探索木を作成するのは無理なのでしょうか?


    無理でしょう。DataGridViewには、ポインタ、またはポインタに代わるものはありません。もし、ポインタがあったとしても、各行にA, B, C, Dという情報しかなければ、そこから探索木を作成することはできません。
    何かしらの親子関係の情報を各行に持つ必要があります。例えばデータテーブルにその情報を持つ列を追加し、その情報を元に探索木を生成できます。ご存じだと思いますが、この列をバインドしなければDataGridViewに表示されることはありません。

    #私もはっきりご質問の内容が見えませんので、最終的に何を実現されたいのかもう少し具体的に書かれるとよいと思います。

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答の候補に設定 山本春海 2012年2月21日 7:57
    • 回答としてマーク 山本春海 2012年2月27日 8:30
    2012年2月2日 8:54
    モデレータ

すべての返信

  • "DataGridView を用いた探索木" というもののイメージがつかないのですが、
    ポインターを使わなくても C# で探索木を作ることは可能ですよね?
    • 回答の候補に設定 山本春海 2012年2月21日 7:57
    • 回答としてマーク 山本春海 2012年2月27日 8:30
    2012年2月2日 7:32
  • 外池と申します。ご質問の内容で、何が一番強い制約条件なのかがイマイチ不明なので、的外れな回答になるかもしれませんが・・・。

    ごくごく一般論として、C#で探索木を表現することは十分に可能です。C#は参照型の変数が標準でサポートされていますので、実質ポインタと同様に、あるオブジェクトが別のオブジェクトを指し示す「構造」を作ることは可能です。

    DataGridViewをお使いになりたい理由は、表示上の要求があるからでしょうか? そのあたりもう少しご説明頂けるとレスがつき易いと思います。

    ちなみに、私は、探索木の構造を独自に作ることはイメージできますが、DataGridViewをどう使うかはイメージが沸きません。


    (ホームページを再開しました)
    • 回答の候補に設定 山本春海 2012年2月21日 7:57
    • 回答としてマーク 山本春海 2012年2月27日 8:30
    2012年2月2日 7:35
  • 質問は,C#でサポートされていないポインタを利用してDataGridVIewを用いた探索木を作成するのは無理なのでしょうか?


    無理でしょう。DataGridViewには、ポインタ、またはポインタに代わるものはありません。もし、ポインタがあったとしても、各行にA, B, C, Dという情報しかなければ、そこから探索木を作成することはできません。
    何かしらの親子関係の情報を各行に持つ必要があります。例えばデータテーブルにその情報を持つ列を追加し、その情報を元に探索木を生成できます。ご存じだと思いますが、この列をバインドしなければDataGridViewに表示されることはありません。

    #私もはっきりご質問の内容が見えませんので、最終的に何を実現されたいのかもう少し具体的に書かれるとよいと思います。

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答の候補に設定 山本春海 2012年2月21日 7:57
    • 回答としてマーク 山本春海 2012年2月27日 8:30
    2012年2月2日 8:54
    モデレータ
  • こんにちは、question_mainさん。

    MSDN フォーラムのご利用ありがとうございます。オペレーターの山本です。
    しばらく経ちましたが、みなさんからの返信は確認されましたか?
    みなさんからアドバイスいただいているように、追加情報を投稿されるとさらに情報が得られるかもしれません。
    ___________________________
    日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海

    2012年2月23日 6:39