Транспонирование графа (2D Array), где график [i] .length = степень i - PullRequest
0 голосов
/ 18 января 2020

Мне нужно транспонировать график, который реализован в виде двумерного массива (с переменными размерами 2-го измерения для каждого элемента в первом измерении). График в моем коде выглядит следующим образом:

new GraphImpl(new int [] [] {
    {1,3,4,5},      //this is knot 0, which has a edge to 1, 3, 4, 5
    {5,3},          //this is knot 1, which has a edge to 5, 3
    {},             //this is knot 2, which has no edges
    {5},
    {1,5},
    {},
    {5},
    {1,4,5,6}
})

Проблема: как получить размер 2-го измерения массива для транспонированного графа, верно?

Транспонированный график должен выглядеть как это:

{},
{0,4,7},
{},
{0,1},
{0,7},
{0,1,3,4,6,7},
{7},
{}
...