Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

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


Ответ
 
Опции темы
Старый 31.01.2017, 20:37   #1
Aoizora
Заблокирован
 
Регистрация: 11.11.2016
Сообщений: 262
Репутация: 109
По умолчанию Проверка существует ли узел с данным IP в дереве упорядоченном по времени

Я храню IP-адреса узлов в бинарном дереве, упорядоченном по времени подключения узла. Мне нужно написать процедуру проверки, существует ли в этом дереве узел с данным IP. Так как дерево упорядочено по времени, стандартный бинарный поиск тут не поможет. Как выйти из положения? Менять структуру данных и делать что-то вроде декартова дерева?
Aoizora вне форума   Ответить с цитированием
Старый 31.01.2017, 20:56   #2
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 5,562
Репутация: 1743
По умолчанию

Сортировать по IP адресам.
Если нужен поиск по времени, тогда создайте две коллекции - по времени и по адресам.
waleri вне форума   Ответить с цитированием
Старый 31.01.2017, 21:03   #3
Aoizora
Заблокирован
 
Регистрация: 11.11.2016
Сообщений: 262
Репутация: 109
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Сортировать по IP адресам.
Если нужен поиск по времени, тогда создайте две коллекции - по времени и по адресам.
Тогда возникнет проблема в синхронизации двух коллекций. Мне нужно поддерживать актуальность узлов в таблице, для этого я буду удалять самые старые узлы и запрашивать первые 10 узлов у другим клиентов.
Aoizora вне форума   Ответить с цитированием
Старый 31.01.2017, 21:23   #4
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,708
Репутация: 2097
По умолчанию

Цитата:
узлов в бинарном дереве,
стало быть есть ссылки на родителя/потомка для упорядочивания по временам.
почему не сделать еще и ссылки по имени(IP-адресу).
участие узла в двух деревьях с разной упорядоченностью (время и имя).
Цитата:
тогда создайте две коллекции - по времени и по адресам.
__________________
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума   Ответить с цитированием
Старый 31.01.2017, 21:26   #5
Aoizora
Заблокирован
 
Регистрация: 11.11.2016
Сообщений: 262
Репутация: 109
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
почему не сделать еще и ссылки по имени(IP-адресу).
То есть в дереве, упорядоченном по времени, образуются дополнительные связи, при помощи которых дерево упорядочивается по IP? Как реализуется вставка и удаление в таком случае?
Aoizora вне форума   Ответить с цитированием
Старый 31.01.2017, 21:36   #6
Aoizora
Заблокирован
 
Регистрация: 11.11.2016
Сообщений: 262
Репутация: 109
По умолчанию

А может, сделать индекс как в базах данных? Какие эффективные алгоритмы для этого существуют?
Aoizora вне форума   Ответить с цитированием
Старый 01.02.2017, 00:42   #7
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 5,562
Репутация: 1743
По умолчанию

Цитата:
Тогда возникнет проблема в синхронизации двух коллекций
И в чем проблема? Добавляете/удаляете в обе коллекции. Чтоб не дублировать данные используйте указатели.
waleri вне форума   Ответить с цитированием
Ответ

Опции темы

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить узел в бинарном дереве Вероника99 Помощь студентам 6 23.06.2016 15:27
Проверка элементов в дереве. Язык Си iamhated Помощь студентам 0 04.04.2013 13:07
Система управления доступом к данным, по времени (вероятно C#.NET) Malisar Помощь студентам 0 05.03.2013 18:41
Нужно написать функцию, которая проверяет содержатся ли элементы из первого дерева во втором дереве, в указанном в 1 дереве порядк Laurensii Помощь студентам 2 24.12.2012 02:55


18:28.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru