我的教授给我们分配了一项任务,以使用线性和二进制算法测试运行时间和搜索大小的差异,并将数据绘制成图表。
我有搜索方法将运行时和数组大小作为点放在 ArrayList 中,然后将其发送到 GraphResults 类进行绘图。我需要先将这些数据点转换为 xy 坐标。搜索大小是 x 轴,运行时间是 y 轴
由于搜索大小固定为 128 的倍数并且只有 8 个大小,我使用 switch 来计算 x 值,但我正在寻找一种更有效的方法将运行时转换为坐标。
现在,我正在使用这样的 5 嵌套条件:
if (y<=1000) {
if (y<= 500) {
if (y<= 250) {
newy= yaxis-32; }//equals to 250ms category
else {
newy= yaxis-(32*2); }//500ms category
}
else if (y<=750) {
newy= yaxis-(32*3);} //750ms category
else {
newy= yaxis-(32*4);} //1000ms category
} //end of the 1000ms tests
现在,超过 5000 毫秒的数字需要 7 次测试。有没有更有效的方法来根据数字大小分配数字?