我今天写了一篇试卷,是关于在 Java 中实现数据结构的大学课程。最后一个问题是这样的:
解释为什么使用 TreeMap<Integer, Integer> 来存储具有整数系数的多项式很方便,尤其是当多项式应该以标准格式打印为字符串时。
意识到这是一个错误,我仍然继续解释为什么我认为这不是一个好主意。相反,我主张使用简单的 int[] 数组,因为数组具有 O(1) 随机访问、O(n) 双向迭代,并且指针(引用)没有额外的内存占用。
假设我错了并且使用(排序的)TreeMap 有一些好处,任何人都可以向我解释这些好处吗?我的理由是,由于 Matlab、Octave、Maple 和其他经过充分测试的数值程序使用数组来存储多项式,所以不会全错。