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