LECTURE 講義・技術関連情報|谷口忠大Home Page(たにちゅー・どっと・こむ)

HOME > LECTURE > 担当講義 > H20 プログラミング演習2 第12週~第14週 講義補助資料(木構造)

担当講義

H20 プログラミング演習2 第12週~第14週 講義補助資料(木構造)

2009-05-18 (mon)|カテゴリー:

プログラミング演習2 ~第12週から第14週まで~

※ 課題12-1の実行例では、外点が0(ゼロ)として表示されています。

本課題では、 「外点のキーは0(ゼロ)とする。」 との記述が抜けています。

つまり、外点を作成する場合、

struct node *n[10]; n[i] = new_node(0);

とする必要があります。 12-1

・print_treeの使い方

根(root)のstruct nodeのポインタをrootとすると

print_tree(root);

という形で利用する.

 

・とりあえず

とりあえず,教科書p.155ページを見てください.

・structの宣言

プリントにもありますが,以下の宣言がまずはじめ.


struct node{
	int key;
	structnode *parent,*left,*right;
}


 

・とりあえず2

構造体node型の領域を確保し,要素を代入するnew_node関数を作りましょう..


struct node *new_node(int val)
{
    [struct node のポインタpを宣言,struct node相当のメモリ領域をmallocでわりあてる.]
 
    [pのメンバ変数keyに値valを割り当てる]
 
    [pのメンバ変数parent,left,rightにNULLを割り当てる]
 
    [strut node のポインタpを返す.]
}

といった作業をします.

これを作った後に

struct node *n; n = new_node(4);

のようにすれば値が4のノードを作れるわけです.

あとはこれと同様に配列なりで必要な数nodeのポインタ&メモリ領域を用意し, このparent, left, rightに適切なポインタを代入していくことで木構造を作ります.

COMMENTS コメント

コメントの投稿




*


下記のタグが使用できます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> <pre lang="" line="" escaped="">

インフォメーション



tanichuの著作

copyright © Tadahiro Taniguchi All Right Reserved.