課題5(6/21出題)


課題


Exercise 6.4 ヒント

report5.tgzの中に含まれるBinaryTree.hの中からincludeされているex6_4.hの空白部分を埋めてください.このファイルの "fill here" の部分を埋めると,課題を完成させることができます.

size(u) と同じように uがnilの時に0を返すように定義してください.また,なるべく, 補助的なデータ構造は使わないようにしてください.

動作チェックをおこなうプログラム check_ex6_4.cpp

g++ --std=c++11 -Wall -O0 -o check_ex6_4 check_ex6_4.cpp
でコンパイルし.
./check_ex6_4
で実行してOKが出ることで,このex6_4.hが正しく動作することを確認できます.

Exercise 6.5 ヒント

report5.tgzの中に含まれるBinaryTree.hの中からincludeされているex6_5.hの空白部分を埋めてください.このファイルの "fill here" の部分を埋めると,課題を完成させることができます.

height(u) と同じように uがnilの時に-1を返すように定義してください.また,なるべく, 補助的なデータ構造は使わないようにしてください.

動作チェックをおこなうプログラム check_ex6_5.cpp

g++ --std=c++11 -Wall -O0 -o check_ex6_5 check_ex6_5.cpp
でコンパイルし.
./check_ex6_5
で実行してOKが出ることで,このex6_5.hが正しく動作することを確認できます.

Exercise 6.14 ヒント

report5.tgzの中に含まれるBinarySearchTree.hの中からincludeされているex6_14.hの空白部分を埋めてください(補助関数を定義した方が解答しやすいかもしれません).

問題文では,listをreturn することを求めていますが,今回の課題では特に std::vector を返すようにしてください.

動作チェックをおこなうプログラム check_ex6_14.cpp

g++ --std=c++11 -Wall -O0 -o check_ex6_14 check_ex6_14.cpp
でコンパイルし.
./check_ex6_14
で実行してOKが出ることで,このex6_14.hが正しく動作することを確認できます.

提出方法

作成した回答を プレインテキスト形式(テキストエディタで編集可能な形式), ipynb形式,またはPDF形式の ファイルにして,ITC-LMSの「課題5(6/22出題)」(6/22の講義時間中に公開される予定)に提出してください.

締切は,7/10(日) 23:59.締切を過ぎても2020年7月末までは6割を上限に採点する.

全部の問題が解けなくても,解けたものをなるべく締切前に提出するように.


オプション課題

課題だけで物足りない人は,以下のオプション課題にも取り組んでください.