【发布时间】:2011-08-06 03:35:51
【问题描述】:
我有一个包含 1024 个条目的大型数组,在 range(14, 86) 中有 7 位值
这意味着有多个索引范围具有相同的值。
例如,
consider the index range 741 to 795. It maps to 14
consider the index range 721 to 740. It maps to 15
consider the index range 796 to 815. It maps to 15
我想将此地图提供给 Python 程序,该程序会输出以下内容:
if((index >= 741) and (index <= 795)) return 14;
if((index >= 721) and (index <= 740)) return 15;
if((index >= 796) and (index <= 815)) return 15;
groupby 映射值的一些代码已准备好,但我无法使用 pairwise 编写表达式。
有人做过类似的事情吗?
我以两种形式上传了数据集:
通常,ordered by index。
【问题讨论】:
-
这将适用于 8 位 8051 内核。
-
我必须说是一次非常糟糕的表压缩尝试。如果有人可以提出一种更好的方法(RLE 和 delta 编码的混合?)来压缩数据集并具有与数组查找相当的性能,我们将不胜感激!
-
RLE 编码可以在 g(n)=36 上为 228..255、35 为 208..227、34 为 195..207、33 为 183..194、32 提供进一步的压缩对于 173..182,对于 164..172,对于 31,对于 156..163,对于 30。取决于您在表大小和代码大小之间的权衡。在极端情况下,您可以使用压缩表实现完整的二进制搜索。
-
CORDIC 将在周期性 fns 上工作,他说他还添加了模拟噪声。单独列出 fn 和噪声可能会更紧凑。他需要
show us teh dataz才能告诉我们 ;-) -
我添加了仅存储表格四分之一的算法。
标签: python compression trigonometry run-length-encoding