RGBピクセルからなるイメージを格納するために単一リンクリストを使用します。リストのノードには、RGBの値とその連続した時刻が含まれている必要があります。例えば、私は4ピクセルを含み、(R、G、B)値が(8,2,5)、(8,2,6)、(8,7,6)、(8,7,6) 9)。この状況では、単一リンクリストを使用してよりコンパクトに格納する場合、ノードは次の情報を格納する必要があります。 赤は1つのノードを必要とします。値8、繰り返し回数4(連続する8が4つあるため) 緑色は第1ノード(値2、繰り返し2)、第2ノード(値7、繰り返し2)の2つのノードを必要とします。 青は3つのノードを必要とします(第1ノード(値5、繰り返し1)反復2)第3ノード(値8、繰り返し1)それは、リストを使用してRGB値を格納することです。
Iは以下のどのだろ良好:
R、G及びBノードを指すように3つのヘッドを含むもの重リンクリストを1.Usingそれぞれ、つまり、R、G、Bの格納は3つの異なるノードの順序で格納されます。
2.ヘッドを1つしか含まない単一リンクリストを使用しますが、ノードの内容はRGBを格納する配列でなければなりません。つまり、R、G、Bは3つの要素(R、G、B)の配列として結合され、配列は1つのノードの単一のシーケンスに格納されます。
私は最初の解決策は実現しやすいと思っていますが、より多くのノード(ノードを増やす)が必要と思われます。 R、G、Bに必要なノードの数が同じでないため、2番目の問題には潜在的な問題がある可能性があります。
私は、count [r] [g] [b] = xのようなパフォーマンス上の理由から3次元アレイを使用します。私はあなたの要求を完全に理解していませんでしたが、連続して起こった時が正確に何を意味しているかのようでした。 – Satish
'頭部 'とは何ですか? 2つの異なるケースに対してNodeクラスを作成できますか?あなたの基準は何ですか?なぜ周波数情報に言及していますか?例えば。どういうわけか844. – matt
申し訳ありません私は前に私の質問を明確に説明しませんでした。 844については、2つのノードが必要であり、第1のノードは、値8に対しては(8,1)を、夫々繰り返し数1を含むべきである。 2番目のノードは、値4と繰り返し2については(4,2)にする必要があります。 – Patrick