Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 12.02.2010, 06:09   #26
Местный
 
Аватар для peacefully
 
Регистрация: 21.10.2009
Сообщений: 690
Сказал Спасибо: 125
Имеет 180 спасибок в 68 сообщенях
peacefully пока неопределено
По умолчанию

Вообщем, суть была, к чему вопрос. Надо построить сеть с фрактальной топологией (граф, короче). Нашел три способа:
1) Строить матрицу смежности. Самое простое. На каждом шаге роста сети вполне примитивно матрица изменялась, сделать не составило труда. Еще в начале темы было сказано, что это N*N бит. А когда построил оказалось, что процентов 80% (ну не важно по числу, ОЧЕНЬ много, короче) матрицы занимают нули. Потому вторая идея была (в теме озвучил тоже), чтобы избавиться от нулевых ячеек. С простейшими начальными параметрами прога сдохла на 3126 вершинах (следующий шаг не осилила).
2) Список смежности. Организовал как массив массивов. Без нулей работает шустрее гораздо, оно и понятно. С теми же параметрами генерация превысила 15к вершин, дальше прога корректно отказалась че-то делать по причине 'Out of memory'. До реальных размеров все равно не дотягивает...
3) Затрудняюсь сказать, какое у этого название и есть ли вообще. Что-то среднее между деревьями и списками. Мультисвязанный двунаправленный список какой-то, короче. Есть объект-вершина, у которой указаны следующие смежные вершины-потомки и предыдущая вершина-предок. Че-то схожее с сетью гиперссылок в WWW: заходишь на какую-нить страницу и знаешь: а) откуда пришел; б) куда можно уйти с нее, глядя на ссылки на ней. Кажись, чОтче отражает реальность, но вот памяти жрать будет больше, чем список смежности из п.2 (хоть и всего на ~N).

Забыл уже, к чему писал это.. короче, вопрос об том, как обойти 'Out of memory'. Что читать на тему "как разместить данные на жестком диске, чтобы быстро к ним обращаться (читать, редактировать)"? "Жесткий диск" и "быстро" - это, понимаю, не очень, но как-то надо. Пока в голову приходит только N файлов (=кол-ву вершин) с перечисленными смежностями, но уверен, что есть че-то рациональнее))
peacefully вне форума   Ответить с цитированием
 

  CoderX :: Forums > Основные форумы > Программинг


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 12:48.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!