基于并行算法的大数据阶乘算法的时间效率优化分析

2021-01-28 03:35:48高鑫王世杰许舒翔
微型电脑应用 2021年1期

高鑫, 王世杰, 许舒翔

(1.国家电网公司西北分部, 陕西 西安 710048;2.国电南瑞科技股份有限公司, 江苏 南京 211106)

0 引言

有学者最早在上世纪90年代定义了阶乘多项式并对其相关特性进行了分析[1-5]。之后又有文献进一步补充了阶乘的具体概念与运算特征。例如,有学者设计了一种可以对不同编号进行排列的阶乘数字处理系统,这在一定程度上促进了大数阶乘应用的发展。从实际应用层面分析,可以利用阶乘运算的方式将一些工业生产以及经济活动方面的内容通过不同形式进行组合优化。同时,在计算机处理系统中,近似处理泰勒多项式以及e自然对数的时候,也属于一种对整数n进行阶乘计算的过程[6-9]。另一方面,考虑到利用计算机来表达整数时受到天花板因素的限制,需要根据编译器来确定最大表示值,以64位编译器作为分析例子,可以获得的最大整数是264-1,因此只能将其用于表示20的阶乘。这就要求必须对整数类型进行新的设置,或引入更合适的算法,使计算机能够计算更大整数的阶乘[10]。

为了计算超过20的整数阶乘,可以引入动态数组与链表的方法,考虑到链表访问的速度通常慢于数组访问速度,同时还需要设置更大空间容量用于存储链表数据,这使得对较大的整数进行阶乘运算时,采用链表将无法满足运算速率与数据存储的要求[11-13]。

通过整数数组来创建一个数值尽量大的整数过程中,从理论层面考虑这受制于存储空间的限制,同时为了增强直观性,将数组内各元素都以十进制的形式进行表示[14]。……

登录APP查看全文