Перейти к содержанию

Конкатенация

Материал из Мегавики — свободной энциклопедии

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

В математике[править]

Конкатенация — бинарная операция, определённая на словах данного алфавита. Обозначения:

  • A — алфавит, набор букв;
  • α, β, γ — слова, составленные из букв;
  • a1an и b1bm — записанные подряд и пронумерованные буквы двух слов.

Если α=a1an и β=b1bm — слова в алфавите A, то конкатенацией слов α и β, которую обозначим в этой статье как αβ, будет слово γ в том же алфавите A, определяемое равенством

γ=αβ=a1anb1bm.

Например, если α=media и β=wiki — слова в алфавите A={a,b,c,,z}, содержащем все буквы латинского алфавита, то

γ=αβ=mediawiki=mediawiki.

Свойства конкатенации[править]

  • Операция конкатенации ассоциативна. То есть, если нужно выполнить конкатенацию трёх слов, то от расстановки скобок результат не изменится: (wikimedia)pedia=wikimediapedia, и в то же время wiki(mediapedia)=wikimediapedia.
  • Операция конкатенации некоммутативна. В самом деле, wikimedia=wikimedia, но mediawiki=mediawikiwikimedia. От перестановки операндов меняется результат операции, что и означает её некоммутативность.
  • Пустое слово — ε, — является нейтральным элементом (единицей) операции конкатенации. То есть, если ε — пустое слово, то для любого слова α выполнено равенство:

εα=αε=α.

|αβ|=|α|+|β|.

Итерации[править]

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

γ=αn=ααn

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

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

В информатике[править]

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

Из соображений удобства и эффективности различают две формы операции конкатенации:

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

См. также[править]