Mae向きなブログ

Mae向きな情報発信を続けていきたいと思います。

令和5年度秋期 応用情報午後問3

令和5年度秋期 応用情報技術者試験(AP)の午後問題3は、

  • 2分探索木(AVL木)

に関する問題でした。2分探索木については、何度か出題されてますが、木の回転が出題されたのは初めてかもしれませんね。

学生時代に作った記憶がありますが、復習のつもりで取り組んでみました。

プログラム例(r05a_ap_pm3.py)

実行結果

% python r05a_ap_pm3.py

実行すると、fig1.png,fig2.png,fig3.pngが出力されます*1

fig1.png

まずは、関数 insert を使って、問3の1ページ目に掲載されている図1を書いてみました。

fig2.png

図1の状態から、関数 insertB を使って、4 を挿入してバランスをとった状態です。

fig3.png

図2の状態から、関数 insertB を使って、8 を挿入してバランスをとった状態です。

続く

関連

*1:Graphvizの使い方がいまいち分かっていませんので、アドバイスなどいただけると助かります。