• ベストアンサー

生命の木の様に表示させたい

PerlかPHPで無限に広がる生命の木の様に表示させたいのですが、データの保存する構造が思いつきません。 いろいろなアルゴリズムができるとは思うのですが。 生命の木は、よくテレビで見かける生物の分岐や発展を示した柳の様な図表です。 とはいえ、あまりビジュアル的に難しい事は考えていません。 下記の様な連想ゲームの様な同じ質問でも、回答者によりいろいろ可能性のある回答をできるだけ多く保存したい。 ■苺→赤い→血 □□|□□→兎の目 □□|□□ □□→甘い→アイス □□□□□→アメ でも、無限に広がると不可も無限大になるので制限するか、MySQLを考えています。

質問者が選んだベストアンサー

  • ベストアンサー
  • feininger
  • ベストアンサー率41% (74/180)
回答No.3

見たところ、ツリータイプの掲示板と構造は同じなので、同様のアルゴリズムが利用できるかと。 横展開と縦展開に違いがないのなら統一したほうがよいでしょう。 こんな感じ↓ 苺  赤い   兎の目  甘い   アイス   アメ データ構造:  自分のID 親のID 投稿された日時 その他のデータ アルゴリズム:  投稿された順番にデータを読み込み、親へぶら下げていく。  「兄弟が存在すれば末っ子として配置する」など、条件はお好みで。

その他の回答 (2)

  • carroll
  • ベストアンサー率61% (13/21)
回答No.2

データベースを使う方法が良いと思います テーブルに3個のフィールド id, parent, word を作り +----+-----+----------+ |  id |parent | word    +----+-----+----------+ |  1  |  0  | 苺 +----+-----+----------+ |  2  |  1  | 赤い +----+-----+----------+ |  3  |  2  | 血 +----+-----+----------+ |  4  |  2  | 兎の目 +----+-----+----------+ |  5  |  1  | 甘い +----+-----+----------+ |  6  |  5  | アイス +----+-----+----------+ |  7  |  5  | アメ +----+-----+----------+ のようにデータを入れていきます

to-zoku
質問者

お礼

SQLにするにしても、単なるレスのツリー掲示板でした。

  • 2NN
  • ベストアンサー率40% (143/353)
回答No.1

もうちょっと具体的でないとアドバイスしかねます。。

to-zoku
質問者

お礼

上記の事以外は考えていません。 考えるのが楽しいというか、おもしろいというか。