山口屋~活動日誌~

私生活で主な出来事をピックアップ

木構造

2010-02-14 23:20:11 | ソフトウェア開発
巡回処理は、
・先行順=行きがけ順
・中間順=対称順=通りがけ順(二分木のみ)
・後行順=帰りがけ順
の3タイプ。


再帰呼び出しで関数を定義すれば、以下のように記述位置だけで使い分けができる。

<先行順>

巡回処理(現在要素)
{
現在要素処理
巡回処理(左要素)
巡回処理(右要素)
}

<中間順>

巡回処理(現在要素)
{
巡回処理(左要素)
現在要素処理
巡回処理(右要素)
}

<後行順>

巡回処理(現在要素)
{
巡回処理(左要素)
巡回処理(右要素)
現在要素処理
}


一般木について、
・リストとは別モノなので先頭にダミーは不要。
・再帰呼び出しを使わない場合はやや煩雑。

<先行順>

1.処理
2.子ノード有なら子ノードへ移動し1.へ
3.親ノード有なら親ノードへ移動し3.へ
4.弟ノード有なら弟ノードへ移動し1.へ
5.親ノード無・弟ノード無で終了

<後行順>

1.子ノード有なら子ノードへ移動し1.へ
2.処理
3.親ノード有なら親ノードへ移動し2.へ
4.弟ノード有なら弟ノードへ移動し1.へ
5.親ノード無・弟ノード無で終了
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 合コン座席計算システム | トップ | 1シート 100枚 10円切手 20円... »
最新の画像もっと見る

コメントを投稿

ソフトウェア開発」カテゴリの最新記事