Questions tagged «selection-problem»

4
尽快找到五个小整数中的最大两个
我在小型嵌入式系统上对图像数据使用5交叉中值滤波器,即 x x x x x 该算法非常简单:读取5个无符号整数值,获得最大的2个值,对这些值进行一些计算,然后写回无符号整数结果。 好的是5个整数输入值都在0-20的范围内。计算出的整数值也在0-20范围内! 通过分析,我发现获得最大的两个数字是瓶颈,因此我想加快这一步。什么是执行此选择最快的方法? 当前算法使用由5个数字指定的位置中的1位的32位掩码和HW支持的CLZ函数。 我应该说CPU是专有的,在我公司之外无法使用。我的编译器是GCC,但为此CPU量身定制。 我试图弄清楚是否可以使用查找表,但未能生成可以使用的密钥。 我有输入组合,但顺序并不重要,即与相同。21521521^5[5,0,0,0,5][5,5,0,0,0] 碰巧下面的哈希函数会产生完美的哈希而不会发生冲突! def hash(x): h = 0 for i in x: h = 33*h+i return h 但是散列是巨大的,并且根本没有足够的内存来使用它。 我可以使用更好的算法吗?是否可以使用查找表并生成密钥来解决我的问题?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.