我想使用单链表来存储由RGB像素组成的图像。列表中的节点应包含RGB的值及其连续出现的时间。例如,我有一个包含4个像素的图像,它们的(R,G,B)值是(8,2,5),(8,2,6),(8,7,6)和(8,7, 9)分别。在这种情况下,如果使用单链表更紧凑地存储它们,节点应存储以下信息: 红色需要一个节点:值8,重复次数4(因为有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所需的节点数量不同。
答案 0 :(得分:0)
如果你的目标是压缩图像,你应该考虑标准的压缩技术。我有一种感觉压缩和解压缩图像的方式不会很有效。