написать код для расчета расстояния Хемминга и расстояния Левенштейна - PullRequest
0 голосов
/ 05 июля 2019

Учитывая две строки ввода печатного текста, а и б. пусть расстояние редактирования между a и b является наименьшим количеством операций, необходимых для преобразования a в б, напишите PHP-код, который рассчитывает расстояние редактирования, используя: 1. Расстояние Хемминга, в котором есть только операции замены (например, замена буквы X на буква Y), укороченный текст с пробелами. 2. Расстояние Левенштейна: есть 3 возможных оператора: вставить, удалить или заменить операции функция должна учитывать все возможности, но не должна рассматривать одну и ту же часть дважды, и сообщить наименьшее возможное расстояние hamming_dis (a, b) возвращает целое число levenshtein_dis (a, b) возвращает целое число Ваш код должен использовать следующее: 1. ООП 2. два класса по одному на каждый режим Хэмминга или Левенштейна 2. один открытый статический помощник, который создает экземпляр, инициализирует состояние, выполняет расчет и возврат результата 3. определить защищенные / приватные свойства, необходимые для хранения входных строк и промежуточные данные, которые вы используете 5. закрытые / защищенные методы, которые вы вызываете рекурсивно, если это необходимо 6. эти методы должны смещаться от начала входных текстов вместо проходящие подстроки 7. документируйте / комментируйте свой код 8. напишите другой файл, который требует вашего файла в качестве библиотеки и выполните некоторые тесты на нем 9. Напишите другой инструмент командной строки, который запрашивает две строки ввода и отображает расстояние Левенштейна 10. написать веб-страницу в форме двух полей и вернуть левенство сопротивления, предоставить инструкции для его запуска с помощью встроенного веб-сервера PHP из командной строки пример расстояния Левенштейна а: "это тест" б: «это тест» Левенштейн: 2 операции (удалить пробел и следующий пробел) а: "это тест" б: "это тест" Левенштейн: 2 операции (замените i на e и удалите s)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...