Помощь в написании студенческих работ
Антистрессовый сервис

Инварианты и оптимальные решения

РефератПомощь в написанииУзнать стоимостьмоей работы

Если в шаблоне встречается запись вида A — B, то в строке должно встретиться A или B. A и B не обязаны быть буквами алфавита, они, в свою очередь также могут быть регулярными выражениями. Эта задача уже может быть отнесена к категории сложных, придумать способ её решения гораздо труднее, чем в предыдущих задачах. (см. практическая часть, задача 2.). Если в шаблоне встречается… Читать ещё >

Инварианты и оптимальные решения (реферат, курсовая, диплом, контрольная)

Виртуозное владение инвариантами особенно полезно при решении задач по информатике, основанных на методе динамического программирования. Метод динамического программирования заключается в сведении задачи к аналогичным, но более простым. При этом алгоритм заключается в хранении «архива» решений простых задач и последовательном расширении этого архива, пока в него не попадёт нужная нам задача. Алгоритмы, основанные на динамическом программировании, активно используют память. (см. практическая часть, задача 1.).

Инварианты и регулярные выражения

Эта задача уже может быть отнесена к категории сложных, придумать способ её решения гораздо труднее, чем в предыдущих задачах. (см. практическая часть, задача 2.).

Для понимания следующей задачи необходимо ввести специальный термин. Регулярным выражением называется строка-шаблон, составленная по определенным правилам. Любую другую строку можно проверить на соответствие данному регулярному выражению. Основные правила построения шаблонов и проверки соответствия таковы:

Если в шаблоне встречается символ, он же должен встретиться в рассматриваемой строке.

Если в шаблоне встречается запись вида A | B, то в строке должно встретиться A или B. A и B не обязаны быть буквами алфавита, они, в свою очередь также могут быть регулярными выражениями.

В шаблоне разрешается использовать круглые скобки, например, A | (AB).

Если в шаблоне встречается [A], то в рассматриваемой строке A может как встретиться, так и нет. Как и в предыдущем правиле, A может быть другим шаблоном.

Если в шаблоне встречается A+, значит, терм A может встретиться в строке любое число раз подряд, либо вообще не встретиться.

Принято, что если в регулярное выражение необходимо вставить специальный символ, то перед ним ставится обратный слеш.

Например, шаблонами являются AB, A[B], A (B)+. Строка AB подходит под все три шаблона, A — под второй и третий, ABB — только под третий. Под шаблон A[B[C]D] подходят строки A, ABD, ABCD, и не подходят никакие другие.

Показать весь текст
Заполнить форму текущей работой