Кіріспе

Максималды қос байланысты субграф Графтар теориясында қос байланысты компонент (кейде 2-қосылған компонент деп аталады) - бұл максималды қос байланысты субграф. Кез келген байланысқан график графиктің блок-ағаш деп аталатын екі жақты байланысқан компоненттер ағашына ыдырайды. Блоктар бір-бірімен ортақ түктерде, яғни кесу түктерінде немесе бөліп тұрған түктерде немесе буындарда бекітіледі. Нақтырақ айтқанда, кесілген түбір - бұл кетіру арқылы қосылған компоненттердің саны көбейетін кез келген түбір.

Басқа алгоритмдер

Жоғарыда аталған алгоритмге қарапайым балама ретінде тізбекті ыдыраулар қолданылады, олар DFS ағаштарына байланысты арнайы құлақ ыдыраулары болып табылады. Тізбектің ыдырауын осы үзу ережесі арқылы сызықтық уақытпен есептеуге болады. C G-дің тізбектік ыдырауын болайық. Содан кейін G 2 шыңмен байланысқан болса, егер және тек G-дің ең төменгі дәрежесі 2 болса және C-дегі жалғыз цикл болса. Бұл бірден сызықтық уақыт 2 байланысу сынағын береді және келесі тізімді қолдана отырып, G-дің барлық кесу шыңдарын тізімге алу үшін кеңейтілуі мүмкін: G-дің (ең төменгі дәрежесі 2) байланысқан графигіндегі v шың, егер және тек егер v көпірмен кездейсоқ болса немесе v циклдің бірінші шың болса, кесу шың болып табылады. Мәселелердің онлайн нұсқасында түкпірлер мен жиектер динамикалық түрде қосылады (бірақ алынып тасталмайды), ал деректер құрылымы екі жақты байланысқан компоненттерді ұстауы керек. Джеффри Вестбрук пен Роберт Таржан (1992) осы проблема үшін дисъюнкт жинақ деректері құрылымына негізделген тиімді дерек құрылымын жасады. Нақтырақ айтқанда, ол n vertex қосуларын және m edge қосуларын O ((m α ((m, n)) жалпы уақытында өңдейді, мұнда α - кері Акерманн функциясы. Бұл уақытпен шектелудің оптималды екені дәлелденді. Узи Вишкин мен Роберт Таржан (1985) CRCW PRAM-да O ((log n) уақыт ішінде n + m процессорлармен жұмыс істейтін параллель алгоритмді жасады.

Теңдестік қатынасы

Біреу кездейсоқ бағытталмаған графиктің шеттерінде екілік қатынасты анықтауы мүмкін, оған сәйкес e және f екі шеттері өзара байланысты болса және тек 1 = e = f болса немесе графикте e және f арқылы қарапайым цикл бар болса ғана. Әрбір шет өзіне байланысты, ал f f арқылы қарапайым цикл бар болса, онда ғана f басқа шетке байланысты. Ешқандай анық емес, бұл транзитивті қатынас: егер e және f шеттері бар қарапайым цикл және f және g шеттері бар басқа қарапайым цикл болса, онда осы екі циклді e және g арқылы қарапайым цикл табу үшін біріктіруге болады. Әр балама класындағы жиектермен қалыптастырылған субграфтар берілген графтың екі жақты байланысқан компоненттері болып табылады. Осылайша, екіге қосылған компоненттер графиктің жиектерін бөледі; дегенмен, олар бір-бірімен ұштары болуы мүмкін.

Блоктық график

Берілген G графигінің блок графты оның блоктарының қиылысу графты болып табылады. Осылайша, оның G әр блогы үшін бір шыңы бар және сәйкес келетін екі блок шыңы ортақ болған кезде екі шыңы арасындағы жиегі бар. H графигі басқа G графигінің блок графигі болып табылады, дәл H-нің барлық блоктары толық субграфиктер болған кезде. Осы қасиетке ие H графиктері блок графиктері деп аталады.

Блок-кескен ағаш

G графигінің кесу нүктесі, кесу нүктесі немесе буыны нүктесі - екі немесе одан да көп блокпен бөлісетін нүкте. Байланысты графиктің блоктары мен кесу нүктелерінің құрылымын блок кесу ағашы немесе БК ағашы деп аталатын ағашпен сипаттауға болады. Бұл ағаштың әрбір блогы мен берілген графиктің әр қиылысу нүктесі үшін шыңы бар. Блоктың әр жұп үшін блок кесу ағашында шет бар және сол блокқа жататын буыны бар.