サブアレイ、サブシーケンス、サブセットの間で少し混乱しています
{1,2,3,4}
がある場合
その後
subsequenceは{1,2,4}
OR {2,4}
などにできます。基本的に、一部の要素は省略できますが、順序はそのままです。
サブ配列は(サイズ3のサブ配列と言う)
{1,2,3}
{2,3,4}
次に、サブセットは何でしょうか?
これら3の間で少し混乱しています。
私の意見では、与えられたパターンが配列の場合、いわゆるsubarray
はcontiguous subsequence
を意味します。
たとえば、{1、2、3、4}とすると、subarray
は
{1, 2, 3}
{2, 3, 4}
etc.
指定されたパターンはシーケンスですが、subsequence
には、元のシーケンスで添え字が増加している要素が含まれています。
たとえば、{1、2、3、4}、subsequence
も
{1, 3}
{1,4}
etc.
指定されたパターンはセットですが、subset
には元のセットの可能な組み合わせが含まれています。
たとえば、{1、2、3、4}、subset
は
{1}
{2}
{3}
{4}
{1, 2}
{1, 3}
{1, 4}
{2, 3}
etc.
配列のコンテキストでは、SubSequence-連続している必要はありませんが、順序を維持する必要があります。しかし、SubArrayは隣接しており、本質的に順序を維持します。
{1,2,3,4}がある場合--- {1,3,4}は有効なSubSequenceですが、サブ配列ではありません。
また、サブセットは順序も連続もありません。したがって、{1,3,2}は有効なサブセットですが、サブシーケンスまたはサブ配列ではありません。
{1,2}は有効なサブアレイ、サブセット、およびサブシーケンスです。
すべてのサブ配列はサブシーケンスであり、すべてのサブシーケンスはサブセットです。
しかし、サブセットとサブアレイ、およびサブシーケンスが交換可能に使用される場合があり、わかりやすくするために、隣接するワードにプレフィックスが付けられます。
配列を考えてみましょう:
{1,2,3,4}
サブアレイ:配列内の連続したシーケンス、つまり.
{1,2},{1,2,3}
サブシーケンス:連続している必要はありませんが、順序は維持されます。
{1,2,4}
サブセット:空のセットがあることを除いて、サブシーケンスと同じです。
{1,3},{}
サイズnの配列/シーケンスが与えられた場合、可能
Subarray = n*(n+1)/2
Subseqeunce = (2^n) -1 (non-empty subsequences)
Subset = 2^n
要素のコレクション(配列、シーケンス、セットなど)の次の2つのプロパティ、OrderとContinuityを検討します。
順序とは、2つ以上の要素のインデックスまたは場所を切り替えることができないときです(単一の要素を持つコレクションの順序は関係ありません)。
連続性とは、要素の隣接要素をそのままにするか、nullにする必要があることです。
サブアレイには次数と連続性があります。
サブシーケンスにはOrderがありますが、Continuityはありません。
サブセットは順序も連続性もありません。
ContinuityはあるがOrderはないコレクションは存在しません(私の知る限り)
サブ配列:配列内のいくつかの連続要素
サブセット:コレクション内のいくつかの要素
サブシーケンス:ほとんどの場合、相対的な順序を維持する配列内の一部の要素(連続している必要はありません)
たとえば、私の理解によれば、[3,5,7,8,9]というリストがあります。ここに
サブセットは順序を維持する必要がなく、不連続な動作をします。たとえば、[9,3]はサブセットです
サブシーケンスは順序を維持し、不連続な動作をします。たとえば、[5,8,9]はサブシーケンスです
サブ配列は順序を維持し、連続した動作をします。たとえば、[8,9]はサブ配列です