В этом контексте эвристика - это способ предоставить алгоритму некоторую форму дополнительной оценочной информации, чтобы алгоритм мог найти «достаточно хорошее» решение без тщательного поиска каждого возможного решения.
Алгоритм Дейкстры не использует эвристику.Он расширяется наружу от начального узла и проверяет каждый узел в графе, чтобы найти кратчайший путь.Несмотря на то, что это точно, это может быть вычислительно дорого.
Для сравнения, алгоритм A * использует эвристику расстояние + стоимость, чтобы направлять алгоритм при выборе следующего узла для исследования.Это означает, что алгоритм находит возможное поисковое решение без проверки каждого узла на графике.Поэтому запускать его намного дешевле, но с полной потерей точности.Это работает, потому что результат, как правило, достаточно близок к оптимальному решению и оказывается дешевле, чем полный поиск по всему графику.
Что касается того, когда вам следует использовать каждый из них, это действительно зависит от приложения.Однако использование алгоритма A * требует допустимой эвристики, поэтому это может быть неприменимо в ситуациях, когда такая информация недоступна для алгоритма.