Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 压缩成员表_Algorithm_Data Structures_Compression_Encode - Fatal编程技术网

Algorithm 压缩成员表

Algorithm 压缩成员表,algorithm,data-structures,compression,encode,Algorithm,Data Structures,Compression,Encode,我有一个巨大的表,包含元素和集合之间的成员关系 行标题是元素名称,列标题是集合名称。每个单元格的值为true1或false0,这表示元素属于集合,否则为false 例如: e1 e2 e3 e4 e5 s1 1 1 1 0 1 s2 0 1 0 1 0 s3 1 1 1 1 0 我不能向客户发送这么大的表格,因为他们不关心完整的图片,但我需要给他们提供最压缩/编码的版本,以便他们可以使用它快速检查一些e是否属于某些s 如何构造这样的压缩表?1。如果您的表中大

我有一个巨大的表,包含元素和集合之间的成员关系

行标题是元素名称,列标题是集合名称。每个单元格的值为true
1
或false
0
,这表示元素属于集合,否则为false

例如:

   e1 e2 e3 e4 e5
s1  1  1  1  0  1
s2  0  1  0  1  0
s3  1  1  1  1  0
我不能向客户发送这么大的表格,因为他们不关心完整的图片,但我需要给他们提供最压缩/编码的版本,以便他们可以使用它快速检查一些e是否属于某些s


如何构造这样的压缩表?

1。如果您的表中大多数单元格都是1,则可以使用稀疏表,只发送0(或相反),或者使用一个位来表示每个单元格

2.此外,您可以使用Zlib压缩要发送的数据,也可以自己实现Huffman,因此不需要依赖外部库

3.如果您的客户只需要完整表的子集,则只发送子集

请注意,所有这些技术都可以一起使用:技术1更改数据结构;技术2改变要发送的数据的“编码”;技术3更改将发送给客户端的数据。

以下是我的方法:

根据元件的不可用性和可用性,每套元件将分别有一串0和1。只需将二进制(由0和1组成的字符串)转换为十进制并节省一些空间


-Ashish

您可以压缩您的表,使每个元素存储在1位中,或者您可以为客户提供查询服务。您应该向我们提供更多数据特征。那样的话,也许我们可以给出最能利用它的算法。例如“行可能相似”、“许多集合是其他集合的子集/并集”、“矩阵稀疏”或“每列的总和永远不会超过x”。否则,我们只能建议您选择一种通用压缩算法。