Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2017, 17:38   #11
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Код:
Как, по их мнению, должен храниться граф?
Я уже и ссылку давал, и пример приводил...
Код:
ArrayList[0]->2->3
ArrayList[1]->4
ArrayList[2]->5
ArrayList[3]->1->2
p51x вне форума Ответить с цитированием
Старый 24.08.2017, 17:47   #12
NikiToZz_
Пользователь
 
Регистрация: 23.04.2016
Сообщений: 75
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Я уже и ссылку давал, и пример приводил...
Не совсем понятно: ArrayList'ы здесь вершины графа хранят?, и как ArrayList[0] и [3] хранят по 2 значения. Или это не значения, и я тогда вообще не понимаю, о чем речь
NikiToZz_ вне форума Ответить с цитированием
Старый 24.08.2017, 17:58   #13
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Ну сходите же хоть по ссылке.

Цитата:
и как ArrayList[0] и [3] хранят по 2 значения
Молча. Соединены с двумя другими вершинами. В чем проблема?
p51x вне форума Ответить с цитированием
Старый 24.08.2017, 18:10   #14
NikiToZz_
Пользователь
 
Регистрация: 23.04.2016
Сообщений: 75
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Ну сходите же хоть по ссылке.
Ну хоть же был бы толк)

Короче говоря, сделал то, что хотел, но старыми добрыми двумерными массивами)

Код:
public class C {

    public static int num;
    public static int[][] graph;
    public static boolean[] used;

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        num = scan.nextInt();
        int[][] graph = new int[num][num];

        for (int i = 0; i < (num-1); i++) {
            int arI = scan.nextInt();
            int arJ = scan.nextInt();
            graph[arI - 1][arJ - 1]++;
        }

        boolean[] used = new boolean[num];

        C.graph = graph;
        C.used = used;

        dfs(0);

    }

    public static void dfs (int pos) {
        used[pos] = true;
        System.out.println(pos);
        for (int nv = 0; nv < num; nv++)
            if (!used[nv] && graph[pos][nv] == 1) {
                dfs(nv);
            }
    }


}
Если кому-то не лень объяснить мне с 0, как запихнуть граф в коллекцию, буду рад)
NikiToZz_ вне форума Ответить с цитированием
Старый 24.08.2017, 18:17   #15
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Этому кому-то придется очень постараться, т.к. вы даже читать на русском не хотите...
p51x вне форума Ответить с цитированием
Старый 24.08.2017, 18:25   #16
NikiToZz_
Пользователь
 
Регистрация: 23.04.2016
Сообщений: 75
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Этому кому-то придется очень постараться, т.к. вы даже читать на русском не хотите...
Я несколько раз перечитывал особенности реализации с вашей странички.

Чему голову морочить, лучше бы написали сразу код полностью, я бы в нем разобрался и все бы понял прекрасно.
NikiToZz_ вне форума Ответить с цитированием
Старый 24.08.2017, 18:27   #17
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Кормен и другие предложили реализацию, в которой вершины представлены числовым индексом в массиве, в котором каждая ячейка массива ссылается на однонаправленный связанный список соседних вершин
Что в этом предложении по ссылке вызвало затруднение? Какое слово непонятное (кроме фамилии)?

Сразу код пишут в фрилансе.
p51x вне форума Ответить с цитированием
Старый 24.08.2017, 18:33   #18
NikiToZz_
Пользователь
 
Регистрация: 23.04.2016
Сообщений: 75
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Что в этом предложении по ссылке вызвало затруднение? Какое слово непонятное (кроме фамилии)?

Сразу код пишут в фрилансе.
Вот фраза после "котором" и вызвала

Там даже примеров нет, чтобы лучше понять.
NikiToZz_ вне форума Ответить с цитированием
Старый 24.08.2017, 18:35   #19
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Вы не знаете, что такое список? Пугает слово однонаправленный? Связный?

P.S. А если в поисковик вбить понятие, то:
http://kvodo.ru/adjacency-list.html
https://habrahabr.ru/post/65367/
https://foxford.ru/wiki/informatika/...ezhnyh-vershin
http://khpi-iip.mipk.kharkiv.edu/lib.../din_0080.html
и т.д.

Последний раз редактировалось p51x; 24.08.2017 в 18:39.
p51x вне форума Ответить с цитированием
Старый 30.08.2017, 22:15   #20
NikiToZz_
Пользователь
 
Регистрация: 23.04.2016
Сообщений: 75
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Вы не знаете, что такое список? Пугает слово однонаправленный? Связный?
Псих, а все-таки. Что ты имел в виду?

Вот у меня входные данные:

Цитата:
Первая строка содержит целое число n — количество вершин в дереве (1 ≤ n ≤ 2·105).

Следующая строка содержит n целых чисел ai (1 ≤ i ≤ n, 1 ≤ ai ≤ 2·105).

Каждая из следующий n - 1 строк содержит два целых числа x и y (1 ≤ x, y ≤ n, x ≠ y), означающие, что в дереве есть ребро (x, y).
Код:
3
6 2 3
1 2
1 3
Как мне arraylist ом запомнить этот граф. Напиши код, если не сложно.
NikiToZz_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графы (с++) Ikol Помощь студентам 0 04.12.2011 20:52
Графы DTroy Помощь студентам 0 24.11.2011 20:28
графы! Daniya.ru Общие вопросы C/C++ 6 09.12.2010 21:16
Графы в С++ skiffter Помощь студентам 3 11.04.2010 10:40
графы delete Общие вопросы C/C++ 2 28.10.2009 21:31