Коллекция C #, которая ведет себя как набор C ++ или priority_queue? - PullRequest
2 голосов
/ 13 апреля 2010

Я много раз писал алгоритм Дейкстры на С ++ - мне нужно там установить set или priotity_queue, оба дают мне возможность добавить элемент и найти наименьший (используя указанный компаратор). Теперь у меня проблема при попытке написать Дейкстру на C # - есть ли какая-нибудь структура, которая может быть полезна для меня? Мне нужно добавить и найти или удалить наименьший элемент.

Использование Visual Studio '08

Ответы [ 2 ]

2 голосов
/ 13 апреля 2010

Вы можете использовать SortedSet, если используете более новую версию .NET Framework.

1 голос
/ 13 апреля 2010

Вы можете использовать мой. Это очень просто; здесь ничего особенного.

http://blogs.msdn.com/ericlippert/archive/2007/10/08/path-finding-using-a-in-c-3-0-part-three.aspx

Я написал это для простой реализации алгоритма A *, который является более эффективной формой алгоритма Дейкстры.

...