如何计算冗余数据结构和压缩数据结构之间的数据压缩比?

时间:2014-04-28 03:45:06

标签: data-structures compression

我最近开发了一种数据压缩算法,旧的数据结构非常冗余,所以我设计了一个更合适的数据结构来存储这些数据。对于某些数据,性能非常出色。但是现在,我需要计算具体的压缩率,我不知道如何解决这个问题?现在我的答案是序列化,即:将旧的和压缩的数据结构存储到磁盘中,然后将它们的磁盘空间与计算压缩比进行比较。我认为这是可行的,但它有点笨拙。有更好的方法吗?

以下是我的旧数据结构。

class old{

    unsigned int _size;

    int **state_table;

    bool *is_marked;
}

state_table矩阵非常冗余,所以我重新设计了这样的数据结构:

class new{

    set<StateCompression*> *state_rules;

    unsigned _size;
}

class StateCompression {

    set<int> *cur_states;

    map<int, int> *transitions;
}

还有另一种压缩功能,可以将旧结构存储的相同数据转换为新结构存储的压缩数据。

我可以写一个计算用过的字节的count()函数吗?

提前致谢。

0 个答案:

没有答案