Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Boost Graph Library: Planar Canonical Ordering

Boost , ,

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Planar Canonical Ordering

template <typename Graph, typename PlanarEmbedding, typename OutputIterator, typename VertexIndexMap>
void planar_canonical_ordering(const Graph& g, PlanarEmbedding embedding, OutputIterator ordering, VertexIndexMap vm);

планарное каноническое упорядочение— это упорядочениеv1, v2, ..., vnвершин максимальногопланарногографа, обладающего свойством, что для каждогоk,3<= k< n, граф, индуцированныйv1, v2, ..., vk

  • является двусвязным и содержит край{v1, v2}на его внешней стороне.
  • имеет любые вершины в диапазонеv1, v2, ..., vk, которые примыкают кv(k+1)на его внешней стороне, и эти вершины образуют путь вдоль внешней стороны.
Let Gk be the graph induced by the first k vertices in the canonical ordering, along with all edges between any of the first k vertices. After Gk has been drawn, the (k+1)st vertex can be drawn easily without edge crossings, since it's adjacent only to a consecutive sequence of vertices on the outer face of Gk.

A planar canonical ordering exists for every maximal planar graph with at least 2 vertices. planar_canonical_ordering expects the input graph to have at least 2 vertices.

Планарное каноническое упорядочивание используется в качестве входного сигнала в некоторых алгоритмах построения планарных графов, особенно тех, которые создают прямолинейное встраивание. Де Фрейссейх, Пах и Поллак72впервые доказали существование такого порядка и показали, как вычислить один во времениO(n)на максимальном плоском графике сnвершинами.

Сложность

Если карта индекса вершины обеспечивает постоянный доступ к индексам, эта функция требует времениO(n + m)для плоского графа сnвершинами имкраями. Обратите внимание, что в простом плоском графе сfгранями,mкраями иnвершинами, какf, так иmявляютсяO(n).

Где определено

boost/graph/planar_canonical_ordering.hpp

Parameters

IN: Graph& g
An undirected graph. The graph type must be a model of VertexAndEdgeListGraph. The graph must:
  • Будьте максимально плоскими.
  • Иметь как минимум две вершины.
IN: PlanarEmbedding
A model of PlanarEmbedding.
IN: OutputIterator
An OutputIterator with value_type equal to graph_traits<Graph>::vertex_descriptor. The canonical ordering will be written to this iterator.
IN: VertexIndexMap vm
A Readable Property Map that maps vertices from g to distinct integers in the range [0, num_vertices(g) )
Default: get(vertex_index,g)

Example

Примеры/canonical_ordering.cpp

See Also

Планарные графики в библиотеке Boost Graph


Copyright © 2007 Aaron Windsor ( aaron.windsor@gmail.com)

Статья Boost Graph Library: Planar Canonical Ordering раздела может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-21 01:52:59/0.0036251544952393/0