私は今日、Java でのデータ構造の実装に関する大学のコースの試験問題を書きました。最後の質問は次のようなものでした。
TreeMap<Integer, Integer> を使用して整数係数を含む多項式を格納すると便利な理由を説明してください。特に、多項式が標準形式で文字列として出力されることになっている場合はそうです。
それが間違いだったことに気づきましたが、それにもかかわらず、なぜそれが良い考えではないと思ったのかを説明し始めました. 代わりに、単純な int[] 配列を使用することを主張しました。これは、配列には O(1) のランダム アクセスがあり、双方向で O(n) の反復があり、ポインター (参照) 用の余分なメモリ フットプリントがないためです。
私が間違っていて、(ソートされた) TreeMap を使用する利点があると仮定すると、誰でもそれらの利点を説明してもらえますか? Matlab、Octave、Maple、およびその他の十分にテストされた数値プログラムは配列を使用して多項式を格納するため、すべてが間違っているわけではありません。