Аннотация:
Задача нумерации и денумерации слов, порождаемых грамматиками Дика, возникает при работе трансляторов для языков высокого уровня и в целом ряде других приложений. В данной работе предлагается алгоритм быстрой нумерации и денумерации слов языков Дика, сложность которого на один символ нумеруемого слова при использовании алгоритма умножения и деления Шёнхаге–Штрассена равна $O(\log^3 n \log \log n)$ битовых операций. Применение ранее известных методов имеет сложность $O(n)$ на один символ нумеруемого слова. Построение предложенного алгоритма основано на методе Б. Я. Рябко.
Библиография: 11 названий.