Java для сравнения алгоритмов графа - PullRequest
2 голосов
/ 19 мая 2011

Подходит ли Java для проекта, в котором сравниваются характеристики алгоритмов Дейкстры и Беллмана-Форда на заданных графиках? Или я должен использовать C?

Ответы [ 4 ]

6 голосов
/ 19 мая 2011

Языковые издержки будут одинаковыми, поэтому вы можете использовать любой язык для сравнения двух алгоритмов.

4 голосов
/ 19 мая 2011

Вы можете использовать любой из двух языков, если вы последовательны и используете один и тот же язык для реализации обоих алгоритмов.

Например, написание Dijkstra на C и сравнение его с Bellman-Ford, написанным на Java, является неточным.

2 голосов
/ 19 мая 2011

Я думаю, вы наверняка сможете использовать Java для такого сравнения. Хотя это может быть сложнее интерпретировать ваши результаты. Например, может быть не самой лучшей идеей написать код, который чрезмерно использует объекты и сборщик мусора, поскольку вам будет трудно изолировать эти эффекты от необработанного времени выполнения. Затраты на запуск будут аналогичны, но в алгоритмах вы можете в конечном итоге «использовать больше Java» в одном, чем в другом (вероятно, в алгоритме Дейкстры с деревом) и, следовательно, замедлить его.

1 голос
/ 19 мая 2011

Хорошим «тестом теста» является сравнение двух алгоритмов в нескольких реализациях на разных языках. Если сравнение согласованно для всех реализаций, то это является хорошим доказательством того, что результаты не были связаны с аварией языка или среды выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...