Конкатена́ция
(
лат.
concatenatio
«присоединение цепями; сцепле́ние») — операция склеивания объектов линейной структуры, обычно
строк
. Например, конкатенация слов «микро» и «мир» даст слово «микромир».
В математике
Конкатенация
—
бинарная операция
, определённая на
словах
данного
алфавита
. Обозначения:
-
— алфавит, набор букв;
-
,
,
— слова, составленные из букв;
-
и
— записанные подряд и пронумерованные буквы двух слов.
Если
и
— слова из алфавита
, то конкатенацией слов
и
, которую обозначим в этой статье как
, будет слово
из того же алфавита
, определяемое равенством
.
Например, если
и
— слова из алфавита
, содержащем все
буквы
латинского алфавита
, то
.
Свойства конкатенации
-
Операция конкатенации
ассоциативна
. То есть, если нужно выполнить конкатенацию трёх слов, то от расстановки скобок результат не изменится:
, и в то же время
.
-
Операция конкатенации
некоммутативна
. В самом деле,
, но
: от перестановки
операндов
меняется результат операции, что и означает её некоммутативность.
-
Пустое слово
— является
нейтральным элементом
(единицей) операции конкатенации. То есть, если
— пустое слово, то для любого слова
выполнено равенство:
.
-
Множество
всех слов в алфавите образует
моноид
(так называемый
).
-
Множество
всех непустых слов в алфавите образует
полугруппу
.
-
Длина
(количество букв) конкатенации слов равна сумме длин операндов:
.
Итерации
Операция конкатенации слов, подобно операции
умножения чисел
, порождает операцию
итерации
(или
возведения в степень
). Пусть
— некоторое слово из алфавита
, а
—
целое
неотрицательное число. Тогда
-ой степенью слова
, обозначаемой
, будет слово
в том же алфавите
, определяемое равенством:
(повтор слова
раз). Пример: «a»
3
=«aaa».
В случае
, степень
по определению полагается равной пустому слову,
.
В информатике
Операция
конкатенации
определяется для
типов данных
, имеющих структуру последовательности (
список
,
очередь
,
массив
и ряд других). В общем случае, результатом конкатенации двух объектов
и
является объект
, полученный поочерёдным добавлением всех элементов объекта
, начиная с первого, в конец объекта
.
Из соображений удобства и эффективности различают две формы операции конкатенации:
-
Модифицирующая конкатенация. Результат операции формируется в левом операнде.
-
Немодифицирующая конкатенация. Результатом является новый объект, операнды остаются неизменными.
См. также