|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.11.2010, 22:28 | #1 |
Форумчанин
Регистрация: 20.06.2008
Сообщений: 125
|
Графы. Хранение хранить список смежностей как хеш-таблицу. Чем не идеал?
По-моему это идеальный вариант. Такой способ позволяет как за О(1) узнать смежны ли вершины, так и получить список всех смежных вершин. То-есть объединяет возможности матрицы и списка смежностей.
Но в Кормене вопрос поставлен с явным намёком на минусы... |
08.11.2010, 07:07 | #2 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Когда я баловался графами, то вообще не хранил таблицу смежности. То есть это можно и так назвать, но в общем-то это была не таблица смежности. Граф я организовывал так как удобно его использовать человеку (а не машине). Каждая точка графа имела координаты (для отображения на канвасе (так на всякий пожарный)), список точек, с которыми она соединена и веса соединений (просто в виде числа). То есть граф был представлен, так как его обычно представляют люди. Никаких проблем в работе не было (а именно реализовывал алгоритм Дейкстры). Надеюсь чем-нибудь помог.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
08.11.2010, 10:23 | #3 |
Форумчанин
Регистрация: 20.06.2008
Сообщений: 125
|
Так ведь это и есть список смежностей
|
08.11.2010, 10:46 | #4 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Не совсем. Я писал в противовес в этому http://ru.wikipedia.org/wiki/%D0%9C%...81%D1%82%D0%B8
И кстати, никаких проблем с определением смежности вершин... Да и еще вопрос, а какие минусы там были: Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
08.11.2010, 15:56 | #5 |
Форумчанин
Регистрация: 20.06.2008
Сообщений: 125
|
Код:
Код:
|
08.11.2010, 16:00 | #6 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Зачем ее искать? Они уже все найдены .
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
08.11.2010, 17:42 | #7 | |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
Цитата:
1) требуется больше памяти, нежели при списках; 2) элементы в списке смежности нельзя хранить отсортированными по какому-либо критерию; 3) доступ к элементам выполняется медленнее по сравнению с матрицей смежности (варьируется от O(1) до O(N) в зависимости от реализации хеш-таблиц и коэффициентов их заполнения). |
|
08.11.2010, 17:55 | #8 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Идеальный для чего?
Цитата:
т.е. наследует и плюсы и минусы. Для каких-то задач будет лучше массивов и списков, для каких-то будет серьезно проигрывать. Вопрос в правильном использовании. Кто есть Кормен? Итог: способ не идеальный. Может быть лучше для определенных задач, но не для всех и не всегда. Всё зависит от целей и доступных возможностей. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как лучше хранить денежные величины в FireBird | Lokos | БД в Delphi | 8 | 08.02.2012 03:36 |
при подсчете хеш-суммы ошибка Integer Overflow. как обойти? | Человек_Борща | Общие вопросы Delphi | 2 | 09.02.2011 11:20 |
как и где хранить изображения? | kate158 | БД в Delphi | 9 | 20.08.2010 16:37 |
Как лучше хранить фото в базе? | GenniY | Свободное общение | 0 | 19.07.2010 10:35 |
Как правильнее хранить настройки программы на хосте? | Kottik | Работа с сетью в Delphi | 9 | 07.10.2009 14:06 |