Приставка
В математике и теории формальных языков приставка (по-английски "prefix") слова — это такая его начальная часть, которой можно дополнить сзади некоторым словом, чтобы получить исходное слово. Формально говорят: слово u является приставкой слова v тогда и только тогда, когда существует слово t такое, что . Частным случаем является собственная приставка — приставка, отличная от самого слова; иногда выделяют пустую приставку (пустое слово).
Понятие приставки широко используется при изучении строковых алгоритмов, структур данных и теории кодирования. Множество всех приставок слова w фиксируют как , и это множество важно в построении автоматов, префиксных деревьев (tries), в задачах автодополнения и при анализе префиксных кодов (например, код Хаффмана должен быть префиксным, чтобы обеспечить однозначную декодируемость). В алгоритме Кнута–Морриса–Пратта вычисляется префикс-функция, которая для каждой позиции i строки возвращает длину наибольшей собственной приставки, совпадающей с суффиксом, заканчивающимся в i-й позиции; это формально записывают как и использует информацию о совпадающих приставках и суффиксах для ускорения поиска подстроки.
Примеры: слово "abc" имеет приставки: пустое слово, "a", "ab" и само "abc"; здесь, например, "ab" является приставкой "abc" потому что . Множество приставок слова "abc" можно записать как . В задачах на префиксные коды, если один код является приставкой другого, то кодовая система неоднозначна при декодировании — поэтому допустимы только такие множества кодов, где никакой код не является приставкой другого (префиксное свойство). Для визуализации префиксной структуры часто используют префиксное дерево — на рисунке изображён фрагмент такого дерева: {IMAGE_0}.