APP下载

大型数据表格取整算法研究

2018-07-25刘杰

电脑与电信 2018年5期

刘杰

1 引言

通信工程的设计由说明、图纸和预算共三部分组成,其中预算要求每个站点做一个,预算金额保留两位小数,并提供预算汇总表。预算汇总表样式如表1所示,其中灰色填充部分为小计项和合计项(下称“和项”),无颜色填充部分为单项材料金额(下称“细项”)。

表1 预算汇总表样式

在某些情况下,预算汇总表的金额是不能带小数点的(例如工程预算的批复),因此需要对预算表格进行取整。取整的要求为:所有数据必须为整数,数据取整前后差额的绝对值小于1,数据行列相加等式必须成立。

当材料的类别大于10(M>10)、材料项大于100、站点数量大于100(N>10)时,这将是一个非常庞大的数据表格。除了通信工程设计的预算汇总表外,其他领域也有类似的数据表格需要取整,因此本文研究的内容为大型数据表格的取整算法,以上述表格为例作为研究对象。

2 四舍五入会增加算法复杂度

对小数取整有三种方式:四舍五入、向上取整和向下取整。但是在算法上如果采用四舍五入方式的话,将会增加算法的复杂度,如表2所示。

表2 四舍五入取整例子原数据

对表格中的数据四舍五入取整后,需要对部分数据进行加1操作,需要对部分数据进行减1操作,以使得最终的结果满足取整的要求,如表3所示。

表3 四舍五入取整例子结果

在上述的例子中,数据四舍五入取整后,由于数据小数点后的数值有大有小,导致取整后数据的调整方向有两个,某些数据需要向上加1,某些数据需要向下减1。数据……

登录APP查看全文