Аноним

Быстрая минимальная триангуляция: различия между версиями

Материал из WEGA
Строка 35: Строка 35:
         Добавить столбец в M, такой, что M(v, C) = 1 для всех вершин <math>v \in N_H(C)</math>;
         Добавить столбец в M, такой, что M(v, C) = 1 для всех вершин <math>v \in N_H(C)</math>;


         '''if''' существует антидуга uv в <math>H[N_H[C]]</math>, такая, что <math>u \in C</math> '''then'''
         '''if''' существует антидуга uv в <math>H[N_H[C]] \; </math>, такая, что <math>u \in C</math> '''then'''


             Поместить <math>H_C = (N_H[C], D_C) \; </math> в <math>Q_2</math>, где <math>uv \notin D_C \; </math>, если <math>u \in C</math> и <math>uv \notin D</math>;
             Поместить <math>H_C = (N_H[C], D_C) \; </math> в <math>Q_2</math>, где <math>uv \notin D_C \; </math>, если <math>u \in C</math> и <math>uv \notin D</math>;


   Вычислить <math>MM^T</math>;
   Вычислить <math>MM^T \; </math>;


Добавить к G0 дуги, обозначенные ненулевыми элементами MMT; while Q3 непусто do
  Добавить к G' дуги, обозначенные ненулевыми элементами <math>MM^T \; </math>;
Извлечь множество вершин A из Q3;
if G0[A] неполно then Поместить G0[A] в Q2; Поменять местами имена Q1 и Q2; until Q1 пусто


Быстрая минимальная триангуляция, рис. 1
  '''while''' <math>Q_3</math> непусто '''do'''
Алгоритм быстрой минимальной триангуляции
 
      Извлечь множество вершин <math>A из Q_3</math>;
 
      '''if''' G'[A] неполно '''then''' Поместить G'[A] в '''Q_2''';
 
  Поменять местами имена <math>Q_1</math> и <math>Q_2</math>;
 
'''until''' <math>Q_1</math> пусто
 
 
Рис. 1. Алгоритм быстрой минимальной триангуляции


== Основные результаты ==
== Основные результаты ==
4430

правок