Ему нравится жадная стратегия. Мой английский не является хорошим. Он переводится google.If вы не понимаете, мне очень жаль.
Алгоритм Дейкстры, G от S ко всем вершинам кратчайшей длины пути. Предположим, что каждой вершине G в V задан флаг L (V), либо либо число, либо ∞. Предположим, что P - множество вершин из G, P содержит S, чтобы удовлетворить:
A) Если V - это P, то L (V) от VS до длины кратчайшего пути и существование такого V из S к кратчайшему пути: путь к вершинам в P в
B) Если V не принадлежит P, то L (V) от S до V удовлетворяет следующим ограничениям на длину кратчайшего пути: V является единственный путь P не принадлежит вершине.
Мы можем использовать индукцию, чтобы доказать, алгоритм Р Дейкстры в соответствии с приведенным выше определением коллекции:
1) Когда число элементов в P = 1, Р соответствует первому шагу в алгоритме, P = (S), очевидно, выполняется.
2) Пусть Р к, число элементов, Р удовлетворяют приведенному выше определению, см алгоритм ниже третьего шага
3) Р в и первым, чтобы узнать, не маркирован с минимальной вершиной U, обозначенный как L (U), можно доказать из S в U U за пределами кратчайшего пути, в дополнение к P не содержит элементов, которые не принадлежат.
Потому что, если за пределами других вершин, кроме U, существует кратчайший путь к S, P1, P2 ... Pn, Q1, Q2 ... Qn, U (P1, P2 ... Pn - P; Q1, Q2, ... Qn не принадлежит P), по характеру B) кратчайшая длина пути L (Q1) + PATH (Q1, U)> L (U).
, который больше, чем S, P1, P2 ... Pn, U длины канала L (U), не является самым коротким путем. Следовательно, от S до U U за пределами кратчайшего пути помимо P не содержит элементов, не принадлежащих U из S, к длине кратчайшего пути из L (U).
U добавляется к P в форме P ', очевидно, P' для удовлетворения характера A).
Take V не принадлежит P ', очевидно, не принадлежит VP, то от S до V, за исключением кратчайшего пути и удовлетворяющего всем вершинам вне V в P' на пути, есть две возможности: i) содержит U, II) не содержит U.
На I) С, Р1, Р2 ... Рп, U, V = L (U) + W (U, V)
II) С, Р1 , P2 ... Pn, V = L (V)
Очевидно, что два задаются в наименьшем V из S, чтобы соответствовать минимальному доступу, а внешнее дополнение ко всем вершинам имеет длину VP '.
Третий шаг к алгоритму, заданному в P 'с элементами k +1 и встречающими A), B).
По индукции предложение может разрешить.
Адрес the source.
@APC - Спасибо за ссылку. Согласно этой записи в вики, выбор наименьшей вершины делает Dijkstra «жадным». Думаю, теперь мне нужно искать преимущества жадного алгоритма. – BeeBand
@BeeBand, термин «жадный» просто означает, что он делает лучший выбор в настоящий момент. Жадность имеет тенденцию быть достаточно интуитивной и простой в реализации, но она не всегда оптимальна (в этом случае, однако, она есть). –
Попробуйте книгу Кормена для лучшего объяснения «почему» жадный алгоритм подходит ... –