(Qm). Изменение


(Qm). Изменение значений Qp и Qm происходит при возврате на выбор k-го элемента максимального независимого множества. Мы выбирали на k шаге, например, вершину с номером i, и естественно исключение ее из Qp и Qm при поиске следующего максимального независимого множества. Кроме того, при переходе к шагу с номером (k+1) из текущих множеств Qp и Qm для следующего шага необходимо исключить вершины, смежные с вершиной i, выбранной на данном шаге (из определения независимого множества) и, разумется, саму вершину i. Итак, общая логика. procedure Find(k:integer; Qp,Qm:Sset); var Gg:Sset; i:byte; begin if (Qp=[ ]) and (Qm=[ ]) then begin Print(k);exit end; {черный ящик А} <формирование множества кандидатов Gg для расширения текущего решения (k элементов в массиве Ss) по значениям Qp и Qm>; i:=1; while i<=N do begin if i in Gg then begin Ss[k]:=i; Find(k+1,Qp-A[i]-[i],Qm-A[i]-[i]); {черный ящик Б} <изменение Qp, Qm для этого уровня
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz