Алгоритм подготовки, обработки и преобразования данных для потоковых задач |
||||||||||||||
Представлением сети называется набор констант, списков и матриц для отображения сети и всех ее параметров. Имеется два способа представления сети: 1) на основании списка дуг 2) на основании списка узлов Первый О=[Ok], T=[tk]-два множества. Легко определить начальные и конечные узлы как к- элементы в списках O и T, а параметры определяются как fk и Ck. Рисунок 19. Пример сети
Для списка дуг составляют таблицу
Вводится дополнительный список длиной n, который является списком начальных указателей. Элементы будут нумероваться так- R0=[p0[i]]. Элемент p0[0] содержит индекс дуги, обладающей наименьшим номером среди дуг исходящих из вершины i. Если из вершины i ничего не выходит, то p0[i]=p0[i+1]. Таким образом список дуг будет упорядочен следующим образом: если О(k1)<O(k2), то k1<k2, если О(к1)=О(к2), то порядок следования дуг произволен. p0[i]=1, p0(n+1)=m+1 p0(i)={k/O(k)>_i,O(k-1)<i},1<i<n MOi={k/p0[i]<k<p0[i+1]}-массив MOi, p0(i)=p0(i+1) узел 1 2 3 4 5 6 r0 1 3 5 6 6 8 Дуги выходят из узлов. Изменение сети( 2 дополнительных массива) для определения конечных дуг, кончающихся в данном узле. 1) список Mti m и n. Lt={lt(i)} содержит номера дуг упорядоченных по возрастанию их конечных узлов. Если kw- индекс дуги kw в списке Lt, то следование элементов в списке определяется по правилу: если t(kw)<t(ky),то kw<ky. Если t(kw)=t(ky), то порядок kw и ky произволен. 2) список Pt={pt(i)} указывает индекс первой дуги из списка Lt, оканчивающейся в вершине i. Для массива Pt справедливы формулы: Pt(1)=1 Pt(n+1)=m+1 Pt(i)={k/t(lt(k)>=,t(lt(k-1)<i} ,1<i<n Тогда множество Мt(i) имеет следующий вид: Mti={lt(k)/Pt(i)<=k<=Pt(i+1)} k 1 2 3 4 5 6 7 узел 1 2 3 4 5 6 Lt7 1 6 2 3 4 5 Pt 1 2 4 6 8 8 |
||||||||||||||