我正在编写一个使用 Dijkstra 算法在图中找到最小路径的应用程序。图中节点和边的权重是float
数字,因此该算法对浮点数进行了许多算术运算。int
如果我将所有重量都转换为s ,我能提高跑步时间吗?Java中的int算术运算比浮点运算快吗?
我试图编写一个简单的基准来检查它,但我对得到的结果并不满意。可能编译器已经优化了程序的某些部分,所以结果对我来说看起来不太好。
编辑:
我要解决的问题是在信息检索领域。应用程序应显示作为一组关键字的查询的答案。
我的数据结构是加权有向图。给定一组叶节点,我必须找到连接这些节点的最小树并向用户显示答案。权重由部分基于 tf/idf 技术的加权函数分配。用户不知道我为节点和边分配了什么权重,他只想查看与他提出的查询相关的答案。所以不需要精确的结果,只是可以根据他们的权重列举答案。只是权重函数的原生使用(正如我提到的,它基于 tf/idf)给出了浮点权重,所以到目前为止我使用了浮点数。
我希望这为这个问题增加了一些背景。