Нахождение 2-го односвязного множества

Так как в таблице 1 еще не все строки вычеркнуты, то продолжаем поиск следующего (второго) односвязного множества участников и соответствующего им множества задолженностей.

Шаг 1*.

Начинаем формировать второе односвязное подмножество участников и соответствующее ему второе односвязное подмножество задолженностей. Для этого выделим 1-ю еще не вычеркнутую строку таблицы 1 – это будет строка номер 2 - и сформируем второе односвязное подмножество участников, состоящее пока только из 2-х элементов (А2 и А21). Первая строка соответствующего второго односвязного подмножества задолженностей состоит пока из одного элемента – строки 1 таблицы 5. Из таблицы 1 вычеркиваем строку 2.

Табл. 5

Дебитор Кредитор Задолженность
А2 А21

Шаг 2*.

Просматриваем в цикле все остальные строки таблицы 1, начиная со строки 3 и по 26, пропуская зачеркнутые строки, с целью нахождения такого элемента множества задолженностей, в котором или дебитор, или кредитор совпадает с элементом А2. Таких элементов не нашлось.

Шаг 3*.

После того, как в таблице 1 мы более не нашли среди не вычеркнутых строк ни одной задолженности, в которой или дебитором или кредитором был бы элемент А2, мы ищем опять таки в цикле такую задолженность, в которой или дебитором или кредитором был бы следующий элемент формируемого второго односвязного подмножества – участник А21. Таких задолженностей нашлось две. Это строка 14 и строка 26 таблицы 1. Эти найденные 2 задолженности добавили во второе односвязное подмножество участников два новых элемента – участников А9 и А5. Так что теперь, на этом этапе второе односвязное подмножество участников состоит уже из 4-х участников (А2, А21, А9 и А5). Во второе подмножество задолженностей – в таблицу 5 - добавляем эти две найденные строки, получая таблицу 6. Не забываем вычеркнуть из таблицы 1 эти две найденные строки 14 и 26.

Табл. 6

Дебитор Кредитор Задолженность
А2 А21
А9 А21
А21 А5

Шаг 4*.

После того, как в таблице 1 мы более не нашли среди не вычеркнутых строк ни одной задолженности, в которой или дебитором или кредитором был бы элемент А21, мы ищем опять таки в цикле такую задолженность, в которой или дебитором или кредитором был бы следующий элемент этого нашего второго односвязного подмножества - элемент А9. Таких задолженностей нашлось три. Это строки 12, 13 и 20 таблицы 1. Строка 12 добавила во второе односвязное подмножество участников новый элемент – участника А18, а строка 20 добавила во второе односвязное подмножество участников новый элемент – участника А16. Так что теперь, на этом этапе второе односвязное подмножество участников состоит уже из 6-и участников (А2, А21, А9, А5, А18 и А16). Во второе подмножество задолженностей - добавляем эти три найденные строки, получая таблицу 7. Вычеркиваем из таблицы 1 эти три найденные строки 12, 13 и 20.

Табл. 7

Дебитор Кредитор Задолженность
А2 А21
А9 А21
А21 А5
А9 А18
А9 А5
А16 А9

Шаг 5*.

После того, как в таблице 1 мы более не нашли среди не вычеркнутых строк ни одной задолженности, в которой или дебитором или кредитором был бы элемент А9, мы ищем среди не вычеркнутых строк табл.1 такую задолженность, в которой или дебитором или кредитором был бы следующий элемент этого нашего второго односвязного подмножества - элемент А5. Нашлись всего две таких задолженностей – это строка 6 и строка 7 таблицы 1. Строка 6 добавила во второе односвязное подмножество участников новый элемент – участника А12, а строка 7 не добавила во второе односвязное подмножество участников новых элементов. Так что теперь, на этом этапе второе односвязное подмножество участников состоит уже из 7-х участников (А2, А21, А9, А5, А18, А16 и А12). Во второе односвязное подмножество задолженностей - добавляем эти две найденные строки, получая таблицу 8. Вычеркиваем из таблицы 1 эти две найденные строки 6 и 7.

Табл. 8

Дебитор Кредитор Задолженность
А2 А21
А9 А21
А21 А5
А9 А18
А9 А5
А16 А9
А5 А12
А5 А16

Шаг 6*.

Продолжая в том же духе, мы ищем среди не вычеркнутых строк таблицы 1 задолженность, у которой или дебитором или кредитором был бы следующий еще не испытанный элемент второго односвязного подмножества - элемент А18. Такого элемента не нашлось.

Шаг 7*.

Так как элементы второго односвязного подмножества еще не закончились и в таблице 1 еще остались не вычеркнутые строки, то продолжаем.

Затем ищем среди не вычеркнутых строк таблицы 1 задолженность, у которой или дебитором или кредитором был бы следующий еще не испытанный элемент второго односвязного подмножества - элемент А16. Нашелся всего один такой элемент – строка 18. Эта Строка 18 добавила во второе односвязное подмножество участников новый элемент – участника А14. Так что теперь на этом этапе второе односвязное подмножество участников состоит уже из 8-и участников (А2, А21, А9, А5, А18, А16, А12 и А14). Эти 8 участников связаны между собой 9-ю дебиторскими (и соответственно 9-ю кредиторскими) задолженностями, представленными в таблице 9.

Табл. 9

Дебитор Кредитор Задолженность
А2 А21
А9 А21
А21 А5
А9 А18
А9 А5
А16 А9
А5 А12
А5 А16
А14 А16

Продолжая в том же духе, мы ищем среди не вычеркнутых строк таблицы 1 задолженность, у которой или дебитором или кредитором были бы следующие еще не испытанные элементы второго односвязного подмножества – элемент А12, а затем элемент А14. Таковых элементов более не нашлось.

Следовательно, мы из первоначального множества участников многостороннего взаимозачета выделили второе односвязное подмножество участников, связанное дебиторскими и кредиторскими задолженностями, представленными в таблице 9.

Наши рекомендации