子阵列的定义

时间:2011-03-14 12:04:16

标签: arrays

我不清楚子数组的定义。它是指连续的索引列表,例如[i..j]还是非连续的,例如[0],[5],[6]

5 个答案:

答案 0 :(得分:7)

我认为子数组是指连续性基于索引的数组。例如,举一个例子

2 3 1 3 1(指数分别为0,1,2,3,4)

所以子阵列是2,3,1 3(索引0,1,2,3) 但是(1,2 1)(索引2,0,4)不能成为一个子阵列,因为索引是非连续的。

希望它有用;)

答案 1 :(得分:5)

子数组是另一个数组中的数组。子数组包含连续的元素,而子序列则不包含。

示例会说清楚

考虑一个数组{1,2,3,4}

所有子阵列的列表是  {},{1},{2},{3},{4},{1,2},{2,3},{3,4},{1,2,3,4}

所有子序列的列表是{},{1},{2},{3},{4},{1,2},{1,3},{1,4},{2,3},{2,4},{3,4},{1,2,3},{1,2,4},{1,3,4},{2,3,4},{1,2,3,4}

答案 2 :(得分:3)

在大多数情况下,它指的是一个连续的索引子集。

http://en.wikipedia.org/wiki/Maximum_subarray_problem

答案 3 :(得分:3)

子阵列是指连续列表,而子序列是指非连续列表。

答案 4 :(得分:0)

好吧,SubArray 是连续的,而 SubSequence 不是。如果您想完整注释,请单击最后提到的链接。如果您懒得点击,请阅读此处:


这里是子数组和子序列的定义: 子数组是数组的连续部分。位于另一个数组内的数组。例如,考虑数组 [1, 2, 3, 4],有 10 个非空子数组。子数组是 (1), (2), (3), (4), (1,2), (2,3), (3,4), (1,2,3), (2,3, 4) 和 (1,2,3,4)。一般来说,对于一个大小为 n 的数组/字符串,有 n*(n+1)/2 个非空的子数组/子环。

子序列是可以通过零个或多个元素从另一个序列导出的序列,而不会改变其余元素的顺序。 对于同一个例子,有 15 个子序列。它们是 (1), (2), (3), (4), (1,2), (1,3),(1,4), (2,3), (2,4), (3) ,4), (1,2,3), (1,2,4), (1,3,4), (2,3,4), (1,2,3,4)。更一般地说,我们可以说对于一个大小为 n 的序列,我们总共可以有 (2n-1) 个非空子序列。

定义/信用:Click Here to Read full note / SubArry And SubSequence