Изменения

Перейти к: навигация, поиск

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

194 байта добавлено, 02:27, 22 ноября 2011
Определение
== Определение ==
Слова записаны в лексикографическом порядкеПусть нам дан алфавит, если на котором определен порядок. То есть для любых <tex> i<j </tex> выполняется выполнено неравенство <tex> S_iK_i <S_j K_j </tex>, где <tex> S_i K_i ~- </tex> и <tex> S_j </tex> слова с номерами <tex> i </tex> и <tex> j </tex>-ый элемент алфавита.
Говорят, что слово <tex> ~A </tex> меньше слова <tex> ~B </tex>, если выполнено хотя бы одно из следующих условий:
# Слово <tex> ~A </tex> является префиксом слова <tex> ~B </tex>.
Приведем псевдокод сравнения слов:
function isEqual(A, B : string)
for i = 0 1 .. min(len(A), len(B)) - 1 //Длины равны, символы строк нумеруются с ноля
if (A[i] < B[i])
return <
if (A[i] > B[i])
return >
//Одна из строк является префиксом другой
if (len(A) < len(B))
return <
if (len(A) > len(B))
return >
return = //Длины строк и все символы равны Слова записаны в лексикографическом порядке, если для любых <tex> i<j </tex> выполняется неравенство <tex> S_i<S_j </tex>, где <tex> S_i </tex> и <tex> S_j </tex> слова с номерами <tex> i </tex> и <tex> j </tex>.
== Примеры ==
Анонимный участник

Навигация