关于网友提出的“求问在使用c++ map时的效率问题”问题疑问,本网通过在网上对“求问在使用c++ map时的效率问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:求问在使用c++ map时的效率问题
描述:
一个数组a[10]需要做一些计算,比如,a[2]- a[1],a[8]- a[4].还有其他的一种数组元素做差的计算,现在的问题是我发现程序中数组元素做差的就是那么几个,比如我前面写的那两个。所以实际情况是这些做差的大部分时间是重复的,因此我想用一个map,把这些做差的元素序号以及做差的值存储起来,然后每次在做差之前先查找map如果找到就不用做差了。可是这样是不是效率反而低了?还不如直接两个数组元素做差来的快。
解决方案1:
直接相减就好了,这样使用map绝对是浪费。
做差运算一条CPU指令就完成了,转成map,又是存储、又是查找,这是多少CPU指令才能完成的事情?!
除非a[10]是复杂的对象,减号运算符中有大量复杂的运算。
解决方案2:
得看具体问题啊,使用STL吧
解决方案3:
map 效率问题
使用map和hash_map的效率问题
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!
解决方案4:
求解答,谢谢啦。我是觉得在这种情况下,是不是用了map反而会降低效率。
以上介绍了“求问在使用c++ map时的效率问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/wd/1014684.html