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

Поделись знанием:
Перейти к: навигация, поиск

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





В математике

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

  • <math>A</math> — алфавит, набор букв;
  • <math>\alpha</math>, <math>\beta</math>, <math>\gamma</math> — слова, составленные из букв;
  • <math>a_1 \ldots a_n</math> и <math>b_1 \ldots b_m</math> — записанные подряд и пронумерованные буквы двух слов.

Если <math>\alpha=a_1 \ldots a_n</math> и <math>\beta=b_1\ldots b_m</math> — слова в алфавите <math>A</math>, то конкатенацией слов <math> \alpha</math> и <math> \beta</math>, которую обозначим в этой статье как <math> \alpha \cdot \beta</math>, будет слово <math> \gamma</math> в том же алфавите <math> A</math>, определяемое равенством

<math> \gamma = \alpha\cdot\beta = a_1\ldots a_n b_1 \ldots b_m</math>.

Например, если <math> \alpha = media</math> и <math> \beta = wiki</math> — слова в алфавите <math> A = \{a,b,c,\ldots,z\}</math>, содержащем все буквы латинского алфавита, то

<math> \gamma = \alpha \cdot \beta = media \cdot wiki = mediawiki </math>.

Свойства конкатенации

  • Операция конкатенации ассоциативна. То есть, если нужно выполнить конкатенацию трёх слов, то от расстановки скобок результат не изменится: <math> (wiki \cdot media) \cdot pedia = wikimediapedia </math>, и в то же время <math> wiki \cdot (media \cdot pedia) = wikimediapedia </math>.
  • Операция конкатенации некоммутативна. В самом деле, <math> wiki \cdot media = wikimedia</math>, но <math> media \cdot wiki = mediawiki \neq wikimedia</math>. От перестановки операндов меняется результат операции, что и означает её некоммутативность.
  • Пустое слово — <math> \varepsilon</math>, — является нейтральным элементом (единицей) операции конкатенации. То есть, если <math> \varepsilon</math> — пустое слово, то для любого слова <math> \alpha</math> выполнено равенство:

<math> \varepsilon \cdot \alpha = \alpha \cdot \varepsilon = \alpha</math>.

  • Множество <math>A^*</math> всех слов в алфавите образует моноид (так называемый «свободный моноид»).
  • Множество <math>A^*\setminus \{\varepsilon\}</math> всех непустых слов в алфавите образует полугруппу.
  • Длина (количество букв) конкатенации слов равна сумме длин операндов:

<math> |\alpha\cdot\beta| = |\alpha| + |\beta| </math>.

Возведение в степень

Операция конкатенации слов, подобно операции умножения чисел, порождает операцию возведения в степень. Пусть <math> \alpha</math> — некоторое слово в алфавите <math> A</math>, а <math> n</math> — целое неотрицательное число. Тогда <math>n</math>-ой степенью слова <math>\alpha</math>, обозначаемой <math>\alpha^n</math>, будет слово <math>\gamma</math> в том же алфавите <math>A</math>, определяемое равенством:

<math> \begin{matrix} \gamma = \alpha^n = & \underbrace{\alpha\cdot\ldots\cdot\alpha} \\ & n \end{matrix} </math>

(повтор слова <math> \alpha</math> <math>n</math> раз). Пример: «a»3="aaa".

В случае <math> n=0</math>, степень <math> \alpha^0</math> по определению полагается равной пустому слову, <math> \varepsilon</math>.

В информатике

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

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

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

См. также

В Викисловаре есть статья «конкатенация»


Напишите отзыв о статье "Конкатенация"

Отрывок, характеризующий Конкатенация

Они помолчали.
– Только для чего же в Петербург! – вдруг сказала Наташа, и сама же поспешно ответила себе: – Нет, нет, это так надо… Да, Мари? Так надо…


Прошло семь лет после 12 го года. Взволнованное историческое море Европы улеглось в свои берега. Оно казалось затихшим; но таинственные силы, двигающие человечество (таинственные потому, что законы, определяющие их движение, неизвестны нам), продолжали свое действие.
Несмотря на то, что поверхность исторического моря казалась неподвижною, так же непрерывно, как движение времени, двигалось человечество. Слагались, разлагались различные группы людских сцеплений; подготовлялись причины образования и разложения государств, перемещений народов.
Историческое море, не как прежде, направлялось порывами от одного берега к другому: оно бурлило в глубине. Исторические лица, не как прежде, носились волнами от одного берега к другому; теперь они, казалось, кружились на одном месте. Исторические лица, прежде во главе войск отражавшие приказаниями войн, походов, сражений движение масс, теперь отражали бурлившее движение политическими и дипломатическими соображениями, законами, трактатами…
Эту деятельность исторических лиц историки называют реакцией.
Описывая деятельность этих исторических лиц, бывших, по их мнению, причиною того, что они называют реакцией, историки строго осуждают их. Все известные люди того времени, от Александра и Наполеона до m me Stael, Фотия, Шеллинга, Фихте, Шатобриана и проч., проходят перед их строгим судом и оправдываются или осуждаются, смотря по тому, содействовали ли они прогрессу или реакции.
В России, по их описанию, в этот период времени тоже происходила реакция, и главным виновником этой реакции был Александр I – тот самый Александр I, который, по их же описаниям, был главным виновником либеральных начинаний своего царствования и спасения России.
В настоящей русской литературе, от гимназиста до ученого историка, нет человека, который не бросил бы своего камушка в Александра I за неправильные поступки его в этот период царствования.
«Он должен был поступить так то и так то. В таком случае он поступил хорошо, в таком дурно. Он прекрасно вел себя в начале царствования и во время 12 го года; но он поступил дурно, дав конституцию Польше, сделав Священный Союз, дав власть Аракчееву, поощряя Голицына и мистицизм, потом поощряя Шишкова и Фотия. Он сделал дурно, занимаясь фронтовой частью армии; он поступил дурно, раскассировав Семеновский полк, и т. д.».
Надо бы исписать десять листов для того, чтобы перечислить все те упреки, которые делают ему историки на основании того знания блага человечества, которым они обладают.
Что значат эти упреки?
Те самые поступки, за которые историки одобряют Александра I, – как то: либеральные начинания царствования, борьба с Наполеоном, твердость, выказанная им в 12 м году, и поход 13 го года, не вытекают ли из одних и тех же источников – условий крови, воспитания, жизни, сделавших личность Александра тем, чем она была, – из которых вытекают и те поступки, за которые историки порицают его, как то: Священный Союз, восстановление Польши, реакция 20 х годов?
В чем же состоит сущность этих упреков?
В том, что такое историческое лицо, как Александр I, лицо, стоявшее на высшей возможной ступени человеческой власти, как бы в фокусе ослепляющего света всех сосредоточивающихся на нем исторических лучей; лицо, подлежавшее тем сильнейшим в мире влияниям интриг, обманов, лести, самообольщения, которые неразлучны с властью; лицо, чувствовавшее на себе, всякую минуту своей жизни, ответственность за все совершавшееся в Европе, и лицо не выдуманное, а живое, как и каждый человек, с своими личными привычками, страстями, стремлениями к добру, красоте, истине, – что это лицо, пятьдесят лет тому назад, не то что не было добродетельно (за это историки не упрекают), а не имело тех воззрений на благо человечества, которые имеет теперь профессор, смолоду занимающийся наукой, то есть читанном книжек, лекций и списыванием этих книжек и лекций в одну тетрадку.