Конкатена́ция ( «присоединение цепями; сцепле́ние») — операция склеивания объектов линейной структуры, обычно строк. Например, конкатенация слов «микро» и «мир» даст слово «микромир».

В математике Конкатенация — бинарная операция, определённая на словах данного алфавита. Обозначения:  — алфавит, набор букв; , ,  — слова, составленные из букв; и  — записанные подряд и пронумерованные буквы двух слов. Если и  — слова из алфавита , то конкатенацией слов и , которую обозначим в этой статье как , будет слово из того же алфавита , определяемое равенством

.

Например, если и  — слова из алфавита , содержащем все буквы латинского алфавита, то

.

Свойства конкатенации Операция конкатенации ассоциативна. То есть, если нужно выполнить конкатенацию трёх слов, то от расстановки скобок результат не изменится: , и в то же время . Операция конкатенации некоммутативна. В самом деле, , но : от перестановки операндов меняется результат операции, что и означает её некоммутативность. Пустое слово  — является нейтральным элементом (единицей) операции конкатенации. То есть, если  — пустое слово, то для любого слова выполнено равенство:

.

Множество всех слов в алфавите образует моноид (так называемый ). Множество всех непустых слов в алфавите образует полугруппу. Длина (количество букв) конкатенации слов равна сумме длин операндов:

.

Итерации Операция конкатенации слов, подобно операции умножения чисел, порождает операцию итерации (или возведения в степень). Пусть  — некоторое слово из алфавита , а  — целое неотрицательное число. Тогда -ой степенью слова , обозначаемой , будет слово в том же алфавите , определяемое равенством:

(повтор слова раз). Пример: «a»3=«aaa».

В случае , степень по определению полагается равной пустому слову, .

В информатике Операция конкатенации определяется для типов данных, имеющих структуру последовательности (список, очередь, массив и ряд других).В общем случае, результатом конкатенации двух объектов и является объект , полученный поочерёдным добавлением всех элементов объекта , начиная с первого, в конец объекта .

Из соображений удобства и эффективности различают две формы операции конкатенации: Модифицирующая конкатенация. Результат операции формируется в левом операнде. Немодифицирующая конкатенация. Результатом является новый объект, операнды остаются неизменными.

См. также

Перебор по словарю

Примечания

Категория:Математические операции Категория:Алгоритмы Категория:Операции в программировании