Генерация случайных графиков - PullRequest
0 голосов
/ 24 апреля 2011

Мне нужно генерировать случайные потоковые сети с одним источником / одним приемником различных измерений, чтобы я мог измерить производительность некоторых алгоритмов, таких как Ford-Fulkerson и Dinic.

Является ли алгоритм Крускала способом генерации таких графов?

1 Ответ

1 голос
/ 24 апреля 2011

Чтобы создать общую потоковую сеть, вам просто нужно создать матрицу смежности.

adj [u] [v] = емкость от узла u к узлу v

Итак, вам просто нужно случайным образом создать эту матрицу.

Например, если n - это количество вершин, которое вы хотите (вы также можете сделать это случайным):

for u in 0..n-1:
    for v in 0..u-1:
      if (rand() % 2 and u != sink and v != source or u == source):
         adj[u][v] = rand()
         adj[v][u] = 0
      else:
         adj[u][v] = 0
         adj[v][u] = rand()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...