Разница между подмассивом, подмножеством и подпоследовательностью
Я немного смущен между подмассивом, подпоследовательностью и подмножеством
если у меня есть {1,2,3,4}
то
Подпоследовательность
может быть {1,2,4}
OR {2,4}
и т.д. Поэтому в принципе я могу опустить некоторые элементы, но сохранить порядок.
subarray будет (скажем, подмассивом размером 3)
{1,2,3}
{2,3,4}
Тогда какое будет подмножество?
Я немного запутался между этими 3.
Ответы
Ответ 1
На мой взгляд, если данный шаблон является массивом, то так называемый 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.
Ответ 2
В контексте массива SubSequence - не обязательно быть смелым, но нужно поддерживать порядок. Но SubArray является условным и по сути сохраняет порядок.
если у вас есть {1,2,3,4} --- {1,3,4} - действительная SubSequence, но это не подмассива.
И подмножество не является порядком и не имеет никакого смысла. Таким образом, вы {1,3,2} являются действительным подмножеством, но не подпоследовательностью или подмассивом.
{1,2} - действительный подмассив, подмножество и подпоследовательность.
Все Subarrays являются подпоследовательностями, и все подпоследовательности являются подмножествами.
Но иногда подмножества и подмассивы и подпоследовательности используются взаимозаменяемо, а слово contigious имеет префикс, чтобы сделать его более понятным.
Ответ 3
Рассмотрим массив:
{1,2,3,4}
Subarray: непрерывная последовательность в массиве, т.е.
{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
Ответ 4
Рассмотрим эти два свойства в коллекции (массив, последовательность, набор и т.д.) Элементов: Порядок и Непрерывность.
Порядок - это когда вы не можете переключать индексы или местоположения двух или более элементов (коллекция с одним элементом имеет несоответствующий порядок).
Непрерывность заключается в том, что элемент должен иметь своих соседей, оставаться с ними или быть нулевым.
Подмассив имеет Порядок и Непрерывность.
Подпоследовательность имеет порядок, но не непрерывность.
Подмножество не является ни Порядком, ни Непрерывностью.
Коллекция с Непрерывностью, но без Порядка не существует (насколько мне известно)
Ответ 5
В моем понимании, например, у нас есть список, скажем, [3,5,7,8,9]. Вот
подмножество не нуждается в поддержании порядка и имеет несмежное поведение. Например, [9,3] является подмножеством
подпоследовательность поддерживает порядок и имеет несмежное поведение. Например, [5,8,9] является подпоследовательностью
subarray поддерживает порядок и имеет смежное поведение. Например, [8,9] является подмассивом
Ответ 6
permutation
: переставить члены множества
например, {1, 2} перестановка: {1, 2}, {2, 1}
combination
: выбор некоторых членов набора независимо от порядка, так же как и subset
например, {1, 2} комбинация: {}, {1}, {2}, {1,2}
по факту,
-
большинство комбинаций (подмножеств) имеют заданную длину, например, комбинация 1-длины {1, 2} равна {1} и {2}
-
упомянутый выше set
может быть обобщен на коллекцию с дублирующимися элементами
Ответ 7
подпоследовательности и подмассивы являются частью подмножеств.