Александр Емельянов @Irval
Backend разработчик
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Software Developer, Backend Developer
Git
Python
MySQL
C#
C++
Qt
Algorithms and data structures
Насколько я знаю, реализации регулярных выражений используют НКА с жадными откатами, либо ДКА. Алгоритмы совершенно разные.
Может быть, я чего-то не понимаю, но для хранения графа в алгоритме Дейкстры достаточно иметь vector<vector<int>> graph (vector = динамический массив), представляющий собой список смежности. По затратам на память это O(|E|) с константой около 2. Как Вы собираетесь хранить всю эту информацию за О(N) в предложенной матрице? Полагаю, подразумевается асимптотика О(|E|), но в таком случае константа уже 5...
Рассказали бы еще про особенности вещественной арифметики (например A + B = A, A * B = 0), представление INF и NaN. Конкретно эта информация реально очень полезна и зачастую бывает неизвестна даже опытным программистам.
В чем, собственно, проблема просто удалить все вхождения "символа ударения"?
UPD: Мы же не в Индии живем, где за количество строк платят :)
Очень странный подход, однако. Очевидно, что если Вам важна скорость написания кода, то использовать стоит eval. Он и работать должен быстрее, чем предложенный в статье метод. Если хотите предотвратить возникновение уязвимостей и считать все так же быстро - напишите алгоритм Дейкстры «Сортировочная станция» для перевода в польскую обратную запись. На Хабре об этом уже писали - https://habr.com/ru/post/100869/.
Скажу больше, сегодня сделали версию с возможностью игры на пользовательских серверах Cybershoke. Инфу взял из блога создателя читов на cs:go - https://t.me/dankm3m3/3661.
Ну если не учитывать не указанный класс графа, немного упрощенный for и создание ребер, то да.
Смотря о чем речь. Дополнительная асимптотика возможна, если Ваша структура сравнивается не за О(1).