Лексикографічний порядок

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Лексикографічний порядок — відношення лінійного порядку на множині кортежей \Sigma^*; \Sigma — упорядкований алфавіт. Свою назву лексикографічний порядок отримав по аналогії з сортуванням по алфавіту в словнику.

Нехай у списку букв алфавіту \Sigma порядок букв фіксований, тобто завжди один і той самий. Тоді цей список визначає повне впорядкування букв, які назвемо відношення передування і позначимо  <= ( a_i <= a_j , якщо  a_i передує  a_j у списку букв). На основі відношення передування букв — будуємо відношення передування слів, визначене наступним чином: Нехай дано слова  a_{1} = a_{11} ... a_{1m} та  a_{2} = a_{21} ... a_{2m} , тоді  a_1 <= a_2 , якщо виконується перший або другий пункт.

  1.  a_1 = ba_{i} g , a_2 = ka_{j}d та  a_{i} <= a_{j} (b , g , k — деякі слова, можливо, пусті,  a_{i} та  a_{j}  — букви)
  2.  a_2 = a_{1}b, де b - не порожнє слово.

Це відношення задає повне впорядкування множин всіх кінцевих слів у алфавіті "\Sigma", яке називається лексикографічним упорядкуванням слів.

Приклади[ред.ред. код]

  • Приклад лексикографічного упорядкування є упорядкування слів в словнику. Вважається, що букви можна порівнювати, порівнюючи їх номери в абетці. Тоді лексикографічний порядок — це, наприклад, ААА, ААБ, ААВ, ААГ, …, ЯЯЯ, або А < АА < ААА < ААБ < ААВ < АБ < Б < … < ЯЯЯ.

Ліс <= літо (випадок - 1 визначення: β = лі, с <= т, g — пусто; d = о), тому слово «ліс» розташоване в словнику раніше слова «літо», ліс <= лісовик (випадок - 2 визначення: β = овик).

  • Якщо розглянути числа в позиційних системах числення (наприклад, у двійковій або десятковій системі) як слова в алфавіті цифр, то їх лексикографічний порядок співпадає із звичайним, якщо всі числа, які порівнюємо мають однакове число розрядів. У загальному випадку ці два види упорядкування можуть не збігатися: наприклад, 10<1073 і 20<1073, але 10 <= 1073, а 20 =>1073. Для того щоб вони збігалися необхідно вирівняти число розрядів у всіх чисел, які порівнюємо, дописуючи зліва нулі. У наведеному прикладі отримаємо 0020 <= 1073. Таке вирівнювання автоматично відбувається при запису цілих чисел в ЕОМ. Послідовність чисел у будь-якій системі числення, записаних у фіксованій розрядній сітці (000, 001, 002, 003, 004, 005, ..., 999).
  • Лексикографічне упорядкування для чисел виду 06.09.99 (шосте вересня 1999 року) не збігається з природнім упорядкуванням дат від ранніх до пізніх, наприклад 06.09.99 лексикографічно «старше» третього числа будь-якого місяця другого року. Щоб зростання дат збігалося з лексикографічним упорядкуванням, зазвичай цифри потрібно «перевернути» тобто рік помістити зліва: 99.09.06.

Див. також[ред.ред. код]