C# A* (A-Star)
Есть такой алгоритм, называется A-Star (A*) - он нужен для поиска оптимального пути в 2D пространстве. Если вы не знали, то для него есть хорошая штука в базовых коллекциях .NET, называется PriorityQueue (завезли в .NET 6). Мотивация, в принципе, была очевидна - очень востребованная коллекция в играх (привет Unity). Очередь с приоритетами - основной элемент алгоритма поиска пути. Когда я отчаиваюсь писать для энтерпайза и начинаю писать свою стратегическую игру, я снова и снова воспроизвожу A*. Про очередь с приоритетами недавно писал некий Степан, а до него писали вот тут...
2 месяца назад
Алгоритмы - это не страшно(Python)
Многие разработчики, особенно начинающие, воспринимают алгоритмы как нечто сложное и запутанное. Кажется, будто за каждой задачей скрывается гора математики, а код превращается в лабиринт из условий и циклов, который невозможно понять даже через месяц. Но на самом деле проблема не в алгоритмах — она в том, как мы их записываем. Сложность часто возникает из-за плохой структуры кода: непонятных названий переменных, нагромождённых условий и отсутствия чёткой логики. В результате даже простой линейный поиск выглядит как ребус, а сортировка пузырьком обрастает лишними проверками...