2010-08-05 3 views
4

Где я могу найти реализацию A * в C?A *, реализованный в C

Я озирался, но, похоже, мой google-fu недостаточно силен. Я начал писать свою собственную реализацию, но потом я вспомнил «Переполнение стека», и я подумал, что сначала должен спросить об этом. Кажется немного сложным написать реальную реальную реализацию A *. У меня возникло соблазн просто написать реализацию алгоритма Дейкстры для бинарной сетки, так как это все, что мне действительно нужно, но я чувствую, что хочу иметь реализацию CA * в моем репертуаре.

ответ

10

Ваш Google-фу действительно слаб, юный падаван :-)

Попробуйте прибегая к помощи .

first и second ссылки являются фактическими реализациями кода (первый под либеральной лицензией MIT, не имеет понятия о втором).

+0

Спасибо! По какой-то причине слияние его в одно слово «астар» не пришло в голову. Первая ссылка - C++ (моя основная проблема при ее поиске до этого), вторая использует кучу библиотек, которые я бы лучше не затащил. Четвертое, однако (приложение Programming in ANSI C - http://condor.depaul.edu/~mkalin/ed3/), кажется правильным. Я все еще могу закончить свою собственную реализацию, так как это немного громоздко и не так гибко и легко завязывается. Я обязательно отправлю его здесь. –

3

здесь вы можете найти псевдокод: http://en.wikipedia.org/wiki/A*

, чтобы найти правильный код для вас только поиск после: AStar граф алгоритма поиска C

+0

Спасибо, вот как я строил свою реализацию - отработал этот псевдокод. Мой google-fu может быть не до табака, но я все еще читал wiki, прежде чем задавать вопросы советам. –