графы |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
графы |
Reflex |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 118 Пол: Женский Репутация: 0 |
как хранить граф ( самые малозанимающий по весу кб способ) не матрица смежности
-------------------- Нам не дано предугадать как наше слово отзовется...
|
Reflex |
Сообщение
#2
|
Пионер Группа: Пользователи Сообщений: 118 Пол: Женский Репутация: 0 |
помогите дийстру не прошу писать, прошу тольоко написать тип граф
-------------------- Нам не дано предугадать как наше слово отзовется...
|
Michael_Rybak |
Сообщение
#3
|
Michael_Rybak Группа: Пользователи Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: 32 |
Судя по всему, имеется ввиду представление в виде списка ребер.
Можно так. Берем из файла/генерим/читаем список (массив) всех ребер, т.е. пар вида (a, b). Если граф неориентированный, дублируем ребра, т.е. кроме (a, b) храним (b, a). Сортируем этот список по a, т.е. по первому элементу пары. В результате получим, что сначала идут все ребра, исходящие из первой вершины, потом - из второй и т.д. Теперь пробегаем по этому списку, и заполняем массивы first[] и last[], так, что first[i] - первое ребро в списке, исходящее из вершины i, а last[i] - последнее. Теперь мы для данной вершины умеем сразу пробегать по всем исходящим из нее ребрам - это то, что тебе понадобится при релаксации. Итого, тип "граф" представляет из себя запись с пятью переменными:
|
Текстовая версия | 21.12.2024 21:10 |