|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.03.2015, 14:49 | #1 |
Новичок
Джуниор
Регистрация: 07.03.2015
Сообщений: 1
|
Структуры данных
Доброго дня.
Как написать программу на С #? Допустим, имеется сбалансированный словарь, который поддерживает операции search, insert, delete, minimum, maximum, successor и predecessor, время исполнения каждой из которых равно О(logn). Как можно модифицировать операции вставки и удаления, чтобы их время исполнения оставалось равным О(logn), но время исполнения операций определения максимума и минимума было О(l). ( Подсказка: думайте в терминах абстрактных словарных операций и не теряйте время на указатели и т. п.). Последний раз редактировалось Олександр12; 07.03.2015 в 15:48. |
07.03.2015, 16:09 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Причем тут программа? Судя по "допустим, имеется" это просто теоретический вопрос.
Ну а если уж вам таки надо навелосипедить свой словарь, то делайте, кто ж мешает. С нуля за вас тут никто не напишет бесплатно.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
07.03.2015, 16:36 | #3 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Можно кешировать минимум/максимум в поле объекта при операции вставки. Тогда чтение из кэша будет О(1).
При удалении: если удаляемый ключ является максимумом (прочитали из поля за О(1)), то кладем в кэш его predecessor (вычислили за О(logn)), если является минимумом - то соответственно successor. Операций на удаление получается в 2 раза больше, потому что само удаление тоже O(logn), но штука в том, что сложность от этого не увеличится.
Изобретатель велосипедов
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамические структуры данных, списковые структуры (надо разобраться что делает программа) | _4Alex4_ | Помощь студентам | 1 | 14.11.2012 07:39 |
Структуры данных | alex-soft | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 17.01.2012 19:10 |
Структуры данных | Gapro | Общие вопросы C/C++ | 11 | 23.10.2011 09:02 |
С++ Структуры данных | DarkSwan | Помощь студентам | 0 | 27.10.2010 12:21 |
Структуры данных в С++ | ArniLand | Общие вопросы C/C++ | 2 | 14.07.2010 18:34 |