Лексикографический порядок: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Метка: отменено
Строка 1: Строка 1:
'''Лексикографический порядок''' — [[отношение линейного порядка]] на множестве [[Слово (формальный язык)|слов]] над некоторым упорядоченным [[Алфавит (формальный язык)|алфавитом]] <math>\Sigma</math>. Своё название лексикографический порядок получил по аналогии с сортировкой по [[алфавит]]у в [[словарь|словаре]].
'''Лексикографический порядок''' — [[отношение линейного порядка]] на множестве [[Слово (формальный язык)|слов]] над некоторым упорядоченным [[Алфавит (формальный язык)|алфавитом]] <math>\Sigma</math>. Своё название лексикографический порядок получил по аналогии с сортировкой по [[алфавит]]у в [[словарь|словаре]].


n = input()
== Определение ==
for _ in range(int(n[1:])):
Слово <math>\alpha</math> предшествует слову <math>\beta</math> (<math>\alpha</math> < <math>\beta</math>), если
s = input()
* либо первые <math>m</math> символов этих слов совпадают, а <math>m+1</math>-й символ слова <math>\alpha</math> меньше (относительно заданного в <math>\Sigma</math> порядка) <math>m+1</math>-го символа слова <math>\beta</math> (например, АБАК < АБРАКАДАБРА, так как первые две буквы у этих слов совпадают, а третья буква у первого слова меньше, чем у второго);
if '#' in s:
* либо слово <math>\alpha</math> является началом слова <math>\beta</math> (например, МАТЕМАТИК < МАТЕМАТИКА; ''{{comment|см.|смотри}}'' [[конкатенация]]).
s = s[:s.find('#')]
print(s.rstrip())


== Примеры ==
== Примеры ==

Версия от 13:37, 14 декабря 2022

Лексикографический порядок — отношение линейного порядка на множестве слов над некоторым упорядоченным алфавитом . Своё название лексикографический порядок получил по аналогии с сортировкой по алфавиту в словаре.

n = input() for _ in range(int(n[1:])):

   s = input()
   if '#' in s:
       s = s[:s.find('#')]
   print(s.rstrip())

Примеры

  • Порядок слов в словаре. Предполагается, что буквы можно сравнивать, сравнивая их номера в алфавите. Например, следующие слова идут в лексикографическом порядке: А < АА < ААА < ААБ < ААВ < АБ < АВ < Б < … < ЯЯЯ.
  • Естественный порядок на неотрицательных целых -значных числах в любой позиционной системе счисления, записанных в разрядной сетке фиксированной длины (000, 001, 002, 003, 004, 005, …, 998, 999).