C/C++の宿題片付けます 147代目

このエントリーをはてなブックマークに追加
612デフォルトの名無しさん
>>577
>>570 は単純な二分木、というだけではなく、それを再帰呼び出しで実装しているので、この上もなく悲惨なことが判明しました。
手元の環境では、大きなデータを食わせると予告もなく stack overflow で落ちます。(ダンプも吐かないとは‥‥‥。)
いくら malloc() の返り値をチェックして最低限の予防線を張っていても、stack overflow だけは検知できない。(こんなことは DOS 時代以来‥‥。)

>>569 のいうとおり、
1) 最低限、平衡二分木にする(AVL 木, 2-3 木, 2色木(赤黒木))
2) 可能ならば再帰呼び出しは行わない。

といったところでしょうか。