Я начинаю сомневаться, что мой план попасть в Haskell и функциональное программирование, используя Haskell для моего следующего курса по алгоритмам, является хорошим.Haskell, алгоритмы и школа
Чтобы получить некоторые линии Haskell под моим поясом, я начал пытаться реализовать некоторые простые альгосы. Во-первых: Гейл-Шепли для проблемы стабильного брака. Еще не получив монады, все это изменчивое состояние выглядит пугающе, поэтому вместо этого я использовал характеристику стабильных сопоставлений как фиксированных точек отображения на решетке полусогласий. Это было весело, но его уже не Gale-Shapley и сложность не очень приятная (эти цепочки в решетке могут быть довольно длинными, очевидно :)
Далее у меня есть алгоритм для Ближайшей пары точек в плоскости, но я застрял в получении обычной сложности O (n * log n), потому что не могу понять, как получить подобную набору данных структуру с проверкой O (1) для членства.
Так что мой вопрос: может ли вообще реализовать большинство алгоритмов, например. Дейкстра, Форд-Фулкерсон (Gale-Shapley!?), Получая сложности от процедурных реализаций, если лучше получить команду Haskell и функциональное программирование вообще?
Просто спросите lambdabot. Q: Может ли Haskell делать xyz? A: Да! Хаскелл может это сделать! – fuz