以下哪项是更好的解决方案?这是关于使用列表来存储RGB值



我想使用单链表来存储由RGB像素组成的图像。列表中的节点应包含 RGB 的值及其连续出现的时间。例如,我有一个包含 4 个像素的图像,它们的 (R,G,B) 值分别为 (8,2,5)、(8,2,6)、(8,7,6) 和 (8,7,9)。在这种情况下,如果使用单向链表更紧凑地存储它们,则节点应存储以下信息: 红色需要一个节点:值 8,重复次数 4(因为有四个连续的 8)。 绿色需要两个节点:第一个节点(值:2,重复 2),第二个节点(值:7,重复 2) 蓝色需要三个节点:第一个节点(值 5,重复 1),第二个节点(值:6,重复 2) 第三个节点(值 8,重复 1)

我想知道以下哪个更好:

1.使用一个包含 3 个头的单向链表分别指向 R、G 和 B 节点。这意味着存储 R、G 和 B 存储在 3 个不同的节点序列中。

2.使用一个仅包含 1 个头的单链表,但节点的内容必须是存储 RGB 的数组。这意味着 R、G 和 B 被组合成一个由 3 个元素 (R、G、B) 组成的数组,并且这些数组存储在一个节点序列中。

我认为第一个解决方案更容易实现,但它似乎需要更多的空间(创建更多节点)。第二个可能存在潜在问题,因为 R、G 和 B 所需的节点数不同。

如果您的目标是压缩图像,则实际上应该考虑标准压缩技术。我有一种感觉,以这种方式压缩和解压缩图像不会很有效。

相关内容

  • 没有找到相关文章

最新更新