|  | 
|      | 
|  | 
| 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.
:: Главная :: ::
| реклама |