【问题标题】:how to compress an unsorted list of numbers?如何压缩未排序的数字列表?
【发布时间】:2010-07-22 09:17:54
【问题描述】:

我正在压缩图表。该图表示为一个邻接列表,即图中的每个节点都维护一个相邻节点的列表。列表包含 Node_ID(4 字节整数),它们按每个 Node_ID(分数)的流行度排序。因此,我以未排序的 Node_ID 编号列表结束,我必须在保持当前顺序的同时压缩它们,以便有效地存储。

【问题讨论】:

  • 压缩是为了序列化,还是压缩是为了在对图进行操作时能够最小化内存空间需求?
  • @Giam:抱歉不清楚。我想分别压缩每个列表以最小化内存空间需求。我想保持秩序,以便在给定两个图形节点的情况下快速查找 Top-K 邻居等操作。

标签: database algorithm compression graph


【解决方案1】:

简单的方法是对 Node_ID 甚至 Node_ID 序列执行基本的Huffman Encoding,然后将最常见的转换为占用几个位等等。

【讨论】:

    【解决方案2】:

    如果您可以通过知道 ID-s 随时获取分数,那么您可以按任何顺序存储它们。

    【讨论】:

    • 没有。 ID 的分数取决于列表,他们在里面。所以,只知道 ID 不能让你得到分数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 2023-04-05
    • 1970-01-01
    • 2023-02-23
    • 2016-10-15
    相关资源
    最近更新 更多