python - 用Python编码有向图的 bool 邻接矩阵

标签 python list encoding matrix

我有一个 bool 值的二维列表,它表示 Python 中有向图的邻接矩阵。我正在尝试将此矩阵写入文件,但矩阵本身非常大,因此我试图在将其写入文件之前想出某种对其进行编码的方法。

我想我可以将每一列视为二进制数 - 因此我可以将其转换为十进制数并将其写入文件。不过,首先,我会写入节点数以确保每个编码都是唯一的。

例如,如果矩阵是[[False, True], [True, True]],我的文件将如下所示:

2 (number of nodes)
1 (01 as decimal)
3 (11 as decimal)

当然,没有括号内的文本。

我的问题是:是否有另一种更节省空间(例如,生成的文件会更小)的方式来编码该矩阵?

最佳答案

您的数据需要有一些模式才能更好地压缩它。 更多模式=更多压缩。您根据模式组成数据。

如果您有随机数据集矩阵,可以使用rank方法对其进行压缩。 好好看看this answer

很好Paper就主题而言

关于python - 用Python编码有向图的 bool 邻接矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12231808/

相关文章:

python - 为什么 `print("Hello, World !")` 和 `print("Hello", "World!")` 产生不同的输出?

python - 如何使用 Selenium 从网站获取不同的货币?

python - 两个二维列表的逐元素乘积

android - 使用 ADB 发送消息的编码问题

ruby - 转换已经用 UTF-8 编码的 ruby​​ 字符串中的 unicode 字符

java - Process.getInputStream() 编码问题

python - 格式字符串 - 每三位数字之间的空格

python - 提取带有空格后跟字符串或行尾的文本

Java 无法保存我的输入。看我的代码

python - 如何在 .txt 文件中存储大型元组、列表和字典,然后将其分配给变量以在 python 代码中使用它们?