Участник:Shersh/Тикеты ко 2ому терму — различия между версиями
Shersh (обсуждение | вклад) (→4. Поисковые структуры данных) |
Shersh (обсуждение | вклад) (→6. Дерево Фенвика) |
||
Строка 146: | Строка 146: | ||
== 6. Дерево Фенвика == | == 6. Дерево Фенвика == | ||
− | + | # [[Дерево Фенвика]] | |
− | + | # [[Встречное дерево Фенвика]] | |
− | + | # [[Дерево Фенвика для некоммутативных операций]] | |
− | + | # [[Многомерное дерево Фенвика]] | |
== 7. Хеширование == | == 7. Хеширование == |
Версия 14:28, 2 февраля 2016
Тикеты индексируются как "X-Y", где X — номер раздела, Y — номер конспекта внутри раздела.
Содержание
0. Амортизационный анализ
- Амортизационный анализ (0.5)
- Англоязычные термины
- Нормальный нумерованный список
- !!! Динамический массив (6)
- Сравнение со списком
- Англоязычные термины
- Потенциальный анализ для произвольных A, B, C
- !!! Hashed Array Tree (5)
- Сравнение с таким способом: храним указатели на массивы константного размера, размеры массивов не меняем, увеличиваем только массив указателей (чтобы не копировать). За сколько будет работать?
- Добавить про буферизованный список
- Редактирование по мелочи
- Список
- Стек
- Очередь
- Мажорирующий элемент
- !!! Счетчик Кнута (5)
- Добавить рассуждения про декремент (и вычитание 1 из произвольного разряда)
- Мастер-теорема
1. Персистентные структуры данных
- Персистентные структуры данных
- Персистентный стек
- Персистентная очередь
- Персистентный дек
- !!! Персистентная приоритетная очередь (10)
- Отрефакторить псевдокод
- Добавить красивые картинки
- Оформить всё правильно
- Добавить наивное решение на дереве
- Подробней описать решение
2. Приоритетные очереди
- Двоичная куча
- Биномиальная куча
- Фибоначчиева куча
- Левосторонняя куча
- Тонкая куча
- !!! Толстая куча на избыточном счетчике (7)
- Англоязычные термины
- Расписать подробно операцию "декремент". Можно как-то связать со счётчиком Кнута.
- Ссылка в интервики с большой буквы — заменить на маленькую
- Отформатировать псевдокод
- Всё оформлено в UpperCamelCase, наверное, надо что-то с этим сделать
- Названия функций обернуть в \mathrm
- Поправить ошибку в Источниках
- Все переменные и константы взять в tex
- "Основные операции оформить аккуратней
- В одном месте лишнее выделение текста псевдокодным прямоугольником, в другом месте комментарий вылез за псевдокод
- Заголовки сделать на уровень меньше
- Структуру оформить псевдокодом с комментариями
- Подпункты с большой буквы назвать
- Возможно, надо будет исправить что-то ещё, слишком много трэша
- Куча Бродала-Окасаки (4)
- Ссылки заменить на источники информации, сделать маркированным списком
- Непонятно, почему merge работает за О(1), если он вызывает insert ниже, который вызывает merge
- Написать подробней операции
- Форматнуть чутка псевдокод
- Заменить Смотри также на См. также
3. Система непересекающихся множеств
- Наивные реализации (0.5)
- Сделать структуру в списке типа Generic
- Написать про возможную частую ошибку в реализации массивом
- Взять обозначения перед псевдокодом и внутри комментариев в \mathtt
- Списки с весовой эвристикой (0.5)
- Оформить правильно источники информации
- Интервики на амортизационный анализ
- Добавить пробелы в Других реализациях перед (
- Англоязычные термины правильно оформить
- Реализация с помощью леса корневых деревьев
- !!! СНМ с операцией удаления за О(1) (6)
- "Мы работаем в предположении, что очистка списка не подразумевает удаления каждого элемента вручную" - пояснить, почему можем так предполагать
- Кое-где не хватает точек в конце предложений
- Вообще кажется, что можно проще
- Пояснить соображения для второй модификации, начав с того, почему нельзя сделать намного проще: хранить в корне просто список листьев поддерева с этим корнем; во время union объединить два списка; во время get просто добавить все вершины пути к списку листьев корня (а то что-то развели в конспекте текста на дофига). Если внезапно окажется, что можно проще, то переписать всё.
- Если проще нельзя, то пояснить про трудности с обычной эвристикой во время get (find)
4. Поисковые структуры данных
- Упорядоченное множество
- Дерево поиска, наивная реализация
- АВЛ-дерево
- 2-3 дерево
- B-дерево
- !!! Красно-черное дерево (5)
- Добавить про связь с 2-3 и 2-4 деревом
- Декартово дерево
- Декартово дерево по неявному ключу (1)
- В псевдокоде нет проверок на null
- Splay-дерево
- !!! Tango-дерево (8)
- Доказательство теоремы Уилбера
- А причём тут вообще она?
- Рандомизированное бинарное дерево поиска
- Дерево ван Эмде Боаса
- !!! Список с пропусками (7)
- \theta cделать большой буквой
- Определение в начале мутное
- Оформить правильно англоязычные термины
- Для log n уровней неясно: добавить знак умножения надо, и откуда там 2 log n взялось?
- Увеличить дроби
- Пояснить подробней структуру и разделить операции по псевдокодам, добавить пояснений
- Отформатировать псевдокод
- log заменить на \log
- Расписать связь вероятности монетки с числом уровней; добавить пару слов про различные варианты честности монетки и что от них зависит
- Оформить правильно источники информации
- Добавить См. также
- Написать, почему все так любят скиплист, особенно в вычислительной геометрии
- Fusion tree
- Сверхбыстрый цифровой бор (2)
- Отформатировать псевдокоды
- Сказать, почему префиксы в хеше не буду есть много памяти
- Добавить См. также
- Многоточия заменить на \ldots
- Rope
5. Дерево отрезков
- Статистики на отрезках. Корневая эвристика
- Дерево отрезков. Построение
- Реализация запроса в дереве отрезков сверху (0.5)
- Много пробелов в коде, отформатировать
- Заменить neutral на varepsilon, введя сначала моноид
- Добавить построение в См. также
- В примере случаи разной глубины красиво оформить
- Реализация запроса в дереве отрезков снизу
- Несогласованные поддеревья. Реализация массового обновления (3)
- Добавить примеры массовых операций в начало
- В начале определение очень похоже на определение кольца, то есть возможно ДО работает на кольце. Надо бы это пояснить и кинуть интервики на кольцо (см. замечания в обсуждениях)
- Константы взять в tex
- Отформатировать псевдокод
- Обозначения перед псевдокодов взять в \mathtt или в \mathrm
- Оформить правильно источники информации
- Добавить см. также
- Многомерное дерево отрезков
- Сжатое многомерное дерево отрезков (1)
- Отформатировать псевдокод
- Англоязычные термины
- Литературу заменить на Источники информации
- Первую картинку заменить на Tex'овскую красивую фигурную скобку
- Добавить См. также
- Добавить категории
6. Дерево Фенвика
- Дерево Фенвика
- Встречное дерево Фенвика
- Дерево Фенвика для некоммутативных операций
- Многомерное дерево Фенвика
7. Хеширование
- Хеш-таблица
- Разрешение коллизий
- Хеширование кукушки (2)
- Англоязычные термины
- Взять в tex знаки = и константы
- Добавить интервики
- Оформить правильно источники информации
- А что делать в случае зацикливания?
- Плюсы-минусы метода
- Идеальное хеширование
- Перехеширование. Амортизационный анализ (1)
- Пояснить, почему будет O(1) на добавление при перехешировании
- fixed Фильтр Блума (1.5)
- Оформить правильно Источники информации
- Англоязычные термины
- Константы, AND, OR в Tex
- А зачем нужна такая структура данных?
- Вынести определения, чтобы в следующем конспекте не дублировалось
- Quotient filter (3)
- Сделать нормальное описание алгоритма, а то ничего не понятно
- Универсальное семейство хеш-функций (0.5)
- Добавить ссылок
- Англоязычные термины
- Смотри обсуждения
- Заменить многоточия на \dots
- Заменить \mod на \bmod
- Заменить знаки неравенств
- Добавить "информации" в источники
- !!! Расширяемое хеширование (5)
- Красивые картинки
- Понятное описание
8. Сортировка
- 0. fixed Сортировка
Квадратичные сортировки
- fixed Сортировка выбором (1)
- Ссылку через интервики
- Оформить правильно англоязычные термины
- Отформатировать псевдокоды
- Сказать, в чём разница между двумя вариантами и оформить сами варианты красивей
- Оформить правильно источники информации
- Добавить См. также
- Добавить категорию
- Сортировка пузырьком (2)
- Сделать единообразные псевдокоды с равным количеством отступов
- Пояснить преимущества каждой модификации сортировки
- Подробней расписать comb sort, и почему там n log n?
- Увеличить дроби
- Добавить категорию
- Сортировка вставками (0.5)
Сортировки на сравнениях
- fixed Сортировка Шелла (0.5)
- Заменить дефисы на тире
- Заменить многоточия на \ldots
- Написать правильно ln
- Пофиксить категории
- Оформить правильно Источники информации и См. также
- Сортировка кучей (5)
- Быстрая сортировка (2)
- Англоязычные термины
- Описание алгоритма сделать покрасивей
- Заменить многоточия на \ldots
- Увеличить дроби
- Пояснить про разбиение массива на три части и чем это помогает
- Добавить ещё модификаций
- Добавить См. также
- Добавить категорию
- Исправить баг с partition
- Сортировка слиянием
- Cортировка слиянием с использованием O(1) дополнительной памяти (0.5)
- Оформить правильно Источники информации
- Добавить категорию
- Написать в начале, зачем оно надо и насколько эффективно в реальной жизни
- Терпеливая сортировка (0.5)
- Имена массивов взять в \mathtt
- Отформатировать псевдокоды
- Добавить категорию
- Timsort
- Smoothsort
- Теорема о нижней оценке для сортировки сравнениями (1)
- Заменить знаки неравенств
- Добавить "информации" в источники
- Добавить пару следствий из теоремы
- Добавить категорию
Многопоточные сортировки
Другие сортировки
- Поиск k-ой порядковой статистики (2)
- Англоязычные термины
- Переменные в Tex
- Отформатировать псевдокод
- Заменить знаки неравенств
- Увеличить дроби
- Оформить правильно Источники информации
- Добавить категории, См. также
- Добавить про модификацию partition с разбиением на 3 части
- Кажется, что не работает, так как partition возвращает абсолютное смещение
- Поиск k-ой порядковой статистики за линейное время
- Поиск k-ой порядковой статистики в двух массивах
- Сортировка подсчетом (1)
- Англоязычные термины
- Отформартировать псевдокод
- Добавить, что хоть алгоритм и работает за линейное время, но является псевдополиномиальным
- (+2 за более сочные картинки)
- Добавить "информации" в Источники
- Добавить категорию
- Цифровая сортировка
- Карманная сортировка
- !!! Сортировка Хана
- В отдельный конспект про ЭП-дерево и что это такое (за отдельные баллы, разумеется)
- Задача флага Нидерландов
9. Сортирующие сети
- Сортирующие сети
- Проверка сети компараторов на то, что она сортирующая. 0-1 принцип
- Сортирующие сети для квадратичных сортировок
- Сортировочные сети с особыми свойствами
- Сеть Бетчера (0.5)
- Оформить правильно англ. термины
- Внутренние ссылки оформить примечаниями
- Заменить знаки неравенств
- Увеличить дроби
- Заменить многоточия на \dots
- Оформить правильно Источники информации
- Добавить См. также
10. Алгоритмы поиска
- fixed Целочисленный двоичный поиск (5)
- Исправить часть про различные алгоритмы
- Вещественный двоичный поиск
- Троичный поиск (2)
- Про == нужно сказать другое
- Добавить про унимодальность функции в начале
- Сказать, почему плохо, когда функция не строго монотонна
- Добавить сюда метод дихотомии
- Поиск с помощью золотого сечения (4)
- Интерполяционный поиск (2)
- Хотелось бы увидеть пример Интерполяционного поиска на арифметической прогрессии, как говорится в начале, в сравнении с бинпоиском
- Можно что-нибудь сказать про интерполяционный поиск на геом. прогрессии или в других предположениях