Я искал много за последние несколько дней по этой теме, и я не понимаю, как я мог бы сделать неориентированный граф без веса. Может ли кто-нибудь сказать мне, какую структуру я должен использовать, и простой алгоритм? Заранее спасибо!!!C++ неориентированные графики
ответ
Нет особых требований, которые заставляют вас придавать веса вашим краям. Ваша матрица смежности может иметь двоичные записи 1-0 или true-false для указания соединения между узлами. Все алгоритмы графов применяются как обычно.
очень полезная лекция о графах: http://www.youtube.com/watch?v=ylWAB6CMYiY
Не могли бы вы сделать это со связанными списками? По простому алгоритму я имею в виду основные функции или необходимые элементы – Yiyi
@Yiyi Граф - уникальная структура данных сама по себе. Узлы действительно «связаны», но реализация отличается от связанных списков. Я предлагаю вам взглянуть на некоторые университетские лекции на youtube (возможно, MIT или канал UCBerkley) в случае, если вы начинаете. Этот профессор отлично подходит http://www.youtube.com/watch?v=ylWAB6CMYiY. Проверьте это – Pepe
В небольших выработках на P.R.s ответ. Стандартное представление матрицы можно легко интерпретировать как верхний (северо-восточный), находящийся сверху-вниз (от B до A), слева оставленный сверху (юго-запад, здесь нет). Один (1) в любой позиции (возможно, булево внутри) указывает на невзвешенное соединение.
x A B C D
A 0 1 0 0
B 0 0 1 1
C 0 0 0 1
D 0 0 0 0
Будет означать, что A не соединен ни с узлами. B подключен к A. C подключен к B. D подключен к B и C.
Этот конкретный пример создаст дерево с D как корень с дочерними элементами B и C, A в качестве дочернего элемента B. A и C листьев.
Обратите внимание, что невзвешенное свойство действительно не очень упрощает. Только в упражнении по реализации чистого указателя, но это совершенно бессмысленно FAPP. Вместо adjacency list
adjacency matrix
может дать вам преимущества использования памяти.
- 1. Сохранять все возможные неориентированные графики
- 2. Неориентированные графики и гамильтонианские дороги
- 3. C# Графики n Графики
- 4. C# Графики и графики Windows Forms
- 5. Связанные неориентированные ациклические графы против деревьев
- 6. СТЛ магазин неориентированные узлы графа в контейнере
- 7. Используйте неориентированные ссылки вместо прямых ссылок
- 8. C# Zedgraph, графики прыжки
- 9. Расширение графики ANSI C
- 10. направленные невзвешенные графики C
- 11. создание 3d-графики C++
- 12. Создание C#-графики
- 13. Рендеринг графики в C#
- 14. Графики рассеяния в C++
- 15. Обновление графики графики/перерисовывание графики
- 16. C# Ускорение рисования векторной графики
- 17. Рисование графики с Visual C++
- 18. Очистка графики прозрачной панели C#
- 19. Графики чертежей в C# WPF
- 20. C++ Как анимация графики (POO)
- 21. C# перерисовка графики на winform
- 22. Матричный вид графики в C
- 23. Как генерировать случайные графики?
- 24. Графики с привязкой к C/C++?
- 25. Генерировать графики MRTG/RRD как графики Графики?
- 26. Графики или графики
- 27. Графики Графики Вид год
- 28. Графики и графики на iPhone
- 29. Чистка графики чистая все графики
- 30. Графики Графики Графики Начальное время и время окончания
Что вы пытаетесь достичь? Это домашнее задание? – Andrew
Простой алгоритм для чего? – Jordan
Какой вес имеет к этому отношение? Вы пробовали реализовать ребро в виде пары указателей между двумя узлами, по одному в каждом направлении? Что вы хотите, чтобы «простой алгоритм» * делал *? – Beta