![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Boost Graph Library: Dijkstra VisitorBoost , ,
|
V | Тип, который является моделью Dijkstra Visitor. |
Вис | Объект типаВ. |
G | Тип, который является моделью графа. |
г | Объект типаG. |
е | Объект типаboost::graph_traits |
s,u,v | Объект типаboost::graph_traits |
Дистанционная карта | Тип, который является модельюКарта свойств чтения / записи. |
d | Дистанционная карта. |
Карта веса | Тип, который является модельюReadable Property Map. |
w | Вещественная карта. |
Name | Expression | Return Type | Description |
---|---|---|---|
Инициировать Vertex | vis.initialize_vertex(u, g) | пустота | Это вызывается по одной вершине графа при его инициализации. |
Проверить Vertex | vis.examine_vertex(u, g) | пустота | Это вызывается на вершине, когда она выскакивает из очереди. Это происходит непосредственно перед тем, какпроверить_edge()вызывается на каждом из краев вершиныу. |
Проверить Edge | vis.examine_edge(e, g) | пустота | Это делается на каждом краю каждой вершины после ее обнаружения. |
Откройте для себя Vertex | vis.discover_vertex(u, g) | пустота | Это вызывается, когда вершина встречается впервые. |
Edge расслабился | vis.edge_relaxed(e, g) | пустота | При осмотре, если следующее условие удерживает, то край расслаблен (его расстояние уменьшено), и этот метод вызывается. tie(u,v) = incident(e, g); D d_u = get(d, u), d_v = get(d, v); W w_e = get(w, e); assert(compare(combine(d_u, w_e), d_v)); |
Edge не расслабляется | vis.edge_not_relaxed(e, g) | пустота | При осмотре, если край не расслаблен (см. выше), то этот метод вызывается. |
Завершить Vertex | vis.finish_vertex(u, g) | пустота | Это вызвано на вершине после того, как все ее внешние края были добавлены к дереву поиска, и все соседние вершины были обнаружены (но до того, как их края были исследованы). |
class count_tree_edges_dijkstra_visitor(bgl.Graph.DijkstraVisitor): def __init__(self, name_map): bgl.Graph.DijkstraVisitor.__init__(self) self.name_map = name_map def edge_relaxed(self, e, g): (u, v) = (g.source(e), g.target(e)) print "Relaxed edge ", print self.name_map[u], print " -> ", print self.name_map[v]
Copyright © 2000-2001 | Джереми Сик, Университет Индианыjsiek@osl.iu.edu] Ли-Куан Ли, Университет Индианыllee@cs.indiana.edu Эндрю Лумсдейн, Университет Индианыlums@osl.iu.edu |
Статья Boost Graph Library: Dijkstra Visitor раздела может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: ::
реклама |