ПредишенСледващото

Компоненти на горски свързаност - дървета.

Ърл G - дърво, ако тя е свързана и броя на ребрата на единица mknshe броят на върховете.

Ако G - дърво, а след това всяка схема е проста.

Всякакви два върха на дървото могат да бъдат свързани с верига, макар и проста.

Нека G - дърво. Ако добавите един от краищата, ние получаваме точно един прост цикъл.

Концепцията на едно дърво е на теория nrafov важно, защото това е най-простият вид на графика, и затова често на пръв го учи теоретични въпроси, поставени за ограничените графики. От друга страна концепцията на дървото се използва за решаване на различни технически проблеми. Т.е. Той има практическо значение.

Помислете една от тези задачи. За да направите това, ще се въведе друга дефиниция.

Скелет (обхващащ дърво) на графиката е подграф, който е дърво, съдържащ всички върхове на графиката.

Да предположим, че искате да п градове, свързани с пътна мрежа. Цената на строителството на всеки път между двата града са известни. Ние построи графика, в която vershshiny - града, ребрата - на пътя. Ние поставят на всеки ръб тегло, равно на стойността на строителството на пътя. определи ядро ​​тегло, като сумата от теглата на неговите краища.

Проектиране на пътната мрежа се свежда до изграждането на ядро ​​Harfa, който е с минимално тегло. Благодарение на дървото свързаност да изпълни условията, за да свържете всеки град на всеки път.

Нека първо обсъдим въпроса за изграждането на ядрото с изключение на теглата на неговите краища. Идеята на алгоритъма е, че се гледа в произволен ред, а краищата на Св съответствие с правило решение за включването на още един ребро в скелета.

Това правило е да се провери условията, при които разглеждания ребро определя пръстен, който има вграден подграф. Ако състоянието е удовлетворена, на ръба не е включена в рамката и оцветени в червено, ако не са изпълнени, а след това да включва скелета и се оцветява в зелено.

Алгоритъмът приключва след ациклични подграф ще бъдат свързани и ще съдържа всички върхове.

Алгоритъм за изграждане на ядрото

Стъпка 1: Изберете всеки ръб и боядисани в зелено. Подграф G1 форма на този ръб. Следвайте стъпка 2.

Вариант а. Dye ребро зелено и образуват подграф Gi + 1. добавяне на компонентите на подграф Gi нов свързан компонент - счита за предимство. Следвайте стъпка 2.

Вариант б. Dye ребро зелено и образуват подграф Gi + 1. смесване на двата компонента в единична връзка. Следвайте стъпка 2.

Вариант. Dye ребро зелено и образуват подграф Gi + 1. добавяне на един от компонентите на подграф Gi счита за предимство. Следвайте стъпка 2.

Възможност за боядисване на ребро в червено, ако е вграден в obrazut цикъл подграф.

Построява гръбнак на графиката диаграма, пренебрегвайки теглото на ребрата.

Цвят ръб 1. v2> в зелено.

ЦВЯТ ребро 4. v5> зелен цвят, защото има версия.

Цвят ръб 4. v1> зелено, защото има опция б.

Цвят ръб 2. v5> в червен цвят, защото имаме възможност да

ЦВЯТ ребро 4. v3> зелен цвят, защото там е вариант.

Ациклична подграф, съдържащ всички върховете на графиката, а след това на скелета е построен:

5. циклична ранг графика. cyclomatic номер

Ако G (V, X) не е ациклична графика, то тогава е възможно да се разпредели цикъл.

Наречен независими цикъла на графиката G, ако се различават най-малко един ръб.

Наборът от независими елементарни цикли, които могат да бъдат изолирани в мултиграф база до цикъл графика.

Броят на обикновените цикли в основата, се нарича cyclomatic броя или цикличен ранг графиката Г.

Obznachim cyclomatic брой от N (G).

Ако G (V, X) - свързан графиката, тогава п (G) = М (G) - N (G) + р (G), където m (G) - броя на ръбовете на графиката, N (G) - броят на върховете в графиката, р (G) - броя на свързаните компоненти в графиката.

Например, няма основание цикъл, като за дърво дърво m = п - 1, р = 1 (графика - свързан графика). Тогава cyclomatic брой е N (G) = N - 1 - п 1 = 0. Затова в основата не са цикъл.

Помислете за намиране на алгоритъм, свързан мултиграф цикличен принцип.

Ако N (G) = 0, тогава графиката е ациклична, циклична база не съществува.

Нека N (G)> 0. изберете в G всяка обхващаща дърво Т. Нека броят на върховете в графиката G е N, а броят на ръбове - м. x1. x2, ..., хп-1 - Т в реброто (обхващащ дърво съдържа всички върхове на графиката и собственост на дървото на броя на ръбовете е един по-малко от броя на възли), Xn. Xn + 1, ..., х - други краища на графиката G (забележка, че п ³ 2, т ³ п). Брой на последните ръбове m - (N - 1) = m - п + 1, и съвпада с cyclomatic броя на графиката свързан. Чрез добавяне на всеки от краищата на XI (I = N, ..., т). дървото Т, получаваме някои подграф на G, който е изолиран от прост микроклетъчна цикъл (п-1). минаваща през XI ръб. По този начин, ние откриваме, набор от елементарни цикъла 1. мм-н + 1>. защото във всеки един от циклите на системата има ръб, който не се съдържа в други цикли, полученият независима система, следователно, е циклична основа на графиката G.

С помощта на този алгоритъм, ние определяме цикъл основа мултиграф представения по-долу:

Изчисли cyclomatic номер: п = 4, т = 8, р = 1, следователно, N (G) = 8-4 + 1 = 5. Следователно, циклична основа съдържа 5 независими цикъла. Ние построи обхваща дърво:

Добавете един отстранен от ръбовете на графиката, и следователно ще получите обикновените цикли:

Получихме пет цикъла, които съставляват основата на броя на цикъл.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!