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