Участник:Shersh/Тикеты ко 2ому терму
< Участник:Shersh
Версия от 21:36, 24 сентября 2015; Shersh (обсуждение | вклад) (→3. Система непересекающихся множеств)
Тикеты индексируются как "X-Y", где X — номер раздела, Y — номер конспекта внутри раздела.
Содержание
0. Амортизационный анализ
- Амортизационный анализ (0.5)
- Англоязычные термины
- Нормальный нумерованный список
- !!! Динамический массив (6)
- Сравнение со списком
- Англоязычные термины
- Потенциальный анализ для произвольных A, B, C
- !!! Hashed Array Tree (5)
- Сравнение с таким способом: храним указатели на массивы константного размера, размеры массивов не меняем, увеличиваем только массив указателей (чтобы не копировать). За сколько будет работать?
- Добавить про буферизованный список
- Редактирование по мелочи
- Список
- Стек
- Очередь
- Мажорирующий элемент (1.5)
- Поправить псевдокод
- Заменить тире на шаблон, а кое-где — наоборот, на дефис
- != в тексте заменить на \ne
- Убрать скобки из диапазона массива
- Заменить size в доказательстве про K на ||
- Длинные обозначения взять в \mathtt
- Заменить источники на источники информации
- !!! Счетчик Кнута (5)
- Добавить рассуждения про декремент (и вычитание 1 из произвольного разряда)
- Мастер-теорема
1. Персистентные структуры данных
- Персистентные структуры данных
- Персистентный стек
- Персистентная очередь
- Персистентный дек
- Персистентная приоритетная очередь
2. Приоритетные очереди
- Двоичная куча
- Биномиальная куча
- Фибоначчиева куча
- Левосторонняя куча
- Тонкая куча
- !!! Толстая куча на избыточном счетчике (7)
- Англоязычные термины
- Расписать подробно операцию "декремент". Можно как-то связать со счётчиком Кнута.
- Ссылка в интервики с большой буквы — заменить на маленькую
- Отформатировать псевдокод
- Всё оформлено в UpperCamelCase, наверное, надо что-то с этим сделать
- Названия функций обернуть в \mathrm
- Поправить ошибку в Источниках
- Все переменные и константы взять в tex
- "Основные операции оформить аккуратней
- В одном месте лишнее выделение текста псевдокодным прямоугольником, в другом месте комментарий вылез за псевдокод
- Заголовки сделать на уровень меньше
- Структуру оформить псевдокодом с комментариями
- Подпункты с большой буквы назвать
- Возможно, надо будет исправить что-то ещё, слишком много трэша
- Куча Бродала-Окасаки (4)
- Ссылки заменить на источники информации, сделать маркированным списком
- Непонятно, почему merge работает за О(1), если он вызывает insert ниже, который вызывает merge
- Написать подробней операции
- Форматнуть чутка псевдокод
- Заменить Смотри также на См. также
3. Система непересекающихся множеств
- Наивные реализации (0.5)
- Сделать структуру в списке типа Generic
- Написать про возможную частую ошибку в реализации массивом
- Взять обозначения перед псевдокодом и внутри комментариев в \mathtt
- Списки с весовой эвристикой (0.5)
- Оформить правильно источники информации
- Интервики на амортизационный анализ
- Добавить пробелы в Других реализациях перед (
- Англоязычные термины правильно оформить
- !!! Реализация с помощью леса корневых деревьев (5)
- Написать внятное доказательство
- !!! СНМ с операцией удаления за О(1) (6)
- "Мы работаем в предположении, что очистка списка не подразумевает удаления каждого элемента вручную" - пояснить, почему можем так предполагать
- Кое-где не хватает точек в конце предложений
- Вообще кажется, что можно проще
- Пояснить соображения для второй модификации, начав с того, почему нельзя сделать намного проще: хранить в корне просто список листьев поддерева с этим корнем; во время union объединить два списка; во время get просто добавить все вершины пути к списку листьев корня (а то что-то развели в конспекте текста на дофига). Если внезапно окажется, что можно проще, то переписать всё.
- Если проще нельзя, то пояснить про трудности с обычной эвристикой во время get (find)
4. Поисковые структуры данных
- 0. added Поисковые структуры данных (10)
- Табличка поисковых структур как в Сортировке
- Здесь хочется видеть какую-нибудь классификацию, время работы разных процедур (худшее, среднее), занимаемую память и особенности
- Неплохо бы также сказать о различных деревьях, которых нет на викиконспектах
- fixed Упорядоченное множество (5)
- Расширить определение до элементов, на которых задан порядок
- Пункт определение не нужен
- Названия функций в тексте обернуть в \mathrm
- Имена функций оформить в lowerCamelCase
- Добавить наивную реализацию на массиве
- Добавить ссылок
- Сказать примечание, что если нам не нужна упорядоченность, то с этой задачей неплохо ещё хеши справляются
- fixed Дерево поиска, наивная реализация (7)
- Правильно оформить англоязычные термины
- Тире заменить на шаблон
- Отформатировать псевдокод
- Функции в тексте обернуть в \mathrm
- Ссылки объединить с литературой, добавить больше ссылок, оформить красиво
- Заменить названия обходов на preorder и postorder
- Добавить простые рекурсивные варианты всех (или почти всех операций), когда нам не нужно хранить родителей, в удалении есть два способа реализации, пояснить разницу
- Кажется, что удаление можно написать проще, даже в таком варианте
- fixed АВЛ-дерево (7)
- Исправить знаки неравенств в tex
- Заменить тире на шаблон
- Константы обернуть в tex
- Литературу заменить на источники информации, добавить ссылок
- Англоязычные термины
- Псевдокоды поворотов (с родителями и без)
- Картинки, поясняющие расстановку балансов после поворотов (большого и малого), то есть со шкалой высот рядом
- fixed 2-3 дерево (1.5)
- Как-то структура криво оформлена; неплохо бы ещё сказать, как это на практике хранится/удобно реализовывается.
- Источники информаии оформить правильно
- Случаи сделать списком
- Пояснить во вставке про изменения ключей в родителях
- +4 за красивую картинку вставки с расщеплением нескольких узлов
- fixed B-дерево (1.5)
- Опять бы структуру красивей оформить
- Увеличить дроби
- Отформатировать псевдокод
- Оформить правильно См. также и Источники информации
- fixed Красно-черное дерево (6)
- Ангоязычные термины
- Тире в тексте — на шаблон
- Константы взять в tex
- Оформить красиво источники информации
- Добавить См. также
- Определение выделить жирным
- В Кормене чуть другое определение красно-чёрного дерева: рассмотреть эквивалентность
- А что будет, если сделать корень дерева красным?
- Чем же 1 бит - это преимущество? Во всех современных ЯП самый маленький тип имеет размер 1 байт.
- взяли Декартово дерево (6)
- Тире заменить на шаблон
- Имена функций оформить в lowerCamelCase
- Сделать псевдокод менее похожим на код С++ (без ссылок): пусть split возвращает пару деревьев
- Разобраться с приоритетами (см. обсуждение)
- Какое-то палево в удалении с k.x - eps
- Оформить правильно источники информации
- Заменить знаки неравенств
- fixed Декартово дерево по неявному ключу (4)
- Добавить псевдокод
- Тире заменить на шаблон
- Сделать интервики на Rope
- Добавить ссылок
- Функции в тексте обернуть в \mathrm и оформить их в lowerCamelCase
- !!! Splay-дерево (8)
- Оформить правильно англоязычные термины
- Исправить знаки неравенств в tex
- Увеличить дроби
- Дефисы заменить на шаблон тире
- Показать, что лемма верна для любого фиксированного веса узла
- Функции оформить в lowerCamelCase
- Пример, когда move to root занимает времени, и заменить O на омегу
- Знаки умножения заменить на \cdot
- Заменить многоточия на \ldots
- !!! Tango-дерево (8)
- Доказательство теоремы Уилбера
- А причём тут вообще она?
- fixed Рандомизированное бинарное дерево поиска (4)
- Отформатировать псевдокод
- Функции в тексте взять в \mathrm
- Умножение сделать везде единообразным, например, через \cdot
- Переменные и константы в тексте взять в tex
- Увеличить дроби
- Первое определение выделить жирным
- Вертикальную черту в tex заменить на \mid
- Оформить правильно источники информации
- Убрать скобки вокруг похожих идей
- fixed Дерево ван Эмде Боаса (1)
- Имена функций взять в \mathrm
- Отформатировать псевдокод
- Англоязычные термины
- Оформить правильно источники информации
- Добавить См. также
- взяли Список с пропусками (7)
- \theta cделать большой буквой
- Определение в начале мутное
- Оформить правильно англоязычные термины
- Для log n уровней неясно: добавить знак умножения надо, и откуда там 2 log n взялось?
- Увеличить дроби
- Пояснить подробней структуру и разделить операции по псевдокодам, добавить пояснений
- Отформатировать псевдокод
- log заменить на \log
- Расписать связь вероятности монетки с числом уровней; добавить пару слов про различные варианты честности монетки и что от них зависит
- Оформить правильно источники информации
- Добавить См. также
- Написать, почему все так любят скиплист, особенно в вычислительной геометрии
- fixed Fusion tree (5)
- Тире заменить на шаблон
- sketch cделать везде с маленькой буквы, а кое-где исправить snetch на sketch
- XOR заменить на \oplus
- AND тоже заменить на что-то хорошее
- succ cделать с маленькой буквы
- Добавить про цикл Де Брюина и сказать, где он применяется (см. лекции Станкевича)
- Оформить правильно источники информации
- Сделать в утверждении список через #, убрать ";"
- Сверхбыстрый цифровой бор (2)
- Отформатировать псевдокоды
- Сказать, почему префиксы в хеше не буду есть много памяти
- Добавить См. также
- Многоточия заменить на \ldots
- Rope (+2 в карму)
- Почему бы не хранить просто вектор указателей на строки, а подстроки брать slice'ами?
- И что ещё можно делать с Rope?
5. Дерево отрезков
- fixed Статистики на отрезках. Корневая эвристика (1.5)
- Отформатировать псевдокод
- Заменить тире на шаблон
- Увеличить дроби
- Заменить Источники на источники информации
- Пример, когда нужна необходимость
- Исправить определение
- Преимущества sqrt-декомпозиции
- fixed Дерево отрезков. Построение (1.5)
- Присвоение элементам ДО одного значения — не ассоциативная операция, значит, про моноид надо поправить
- Пояснить подробней про моноиды (например, что минимум — это моноид) (+1 ещё за каждый интересный пример задачи)
- Заменить знаки неравенства
- Увеличить дроби
- Отформартировать псевдокод
- Оформить правильно См. также и ссылки
- Перенести про персистентность в конспект про персистентные СД
- Реализация запроса в дереве отрезков сверху (0.5)
- Много пробелов в коде, отформатировать
- Заменить neutral на varepsilon, введя сначала моноид
- Добавить построение в См. также
- В примере случаи разной глубины красиво оформить
- Реализация запроса в дереве отрезков снизу
- Несогласованные поддеревья. Реализация массового обновления (3)
- Добавить примеры массовых операций в начало
- В начале определение очень похоже на определение кольца, то есть возможно ДО работает на кольце. Надо бы это пояснить и кинуть интервики на кольцо (см. замечания в обсуждениях)
- Константы взять в tex
- Отформатировать псевдокод
- Обозначения перед псевдокодов взять в \mathtt или в \mathrm
- Оформить правильно источники информации
- Добавить см. также
- fixed Многомерное дерево отрезков (2)
- Взять задачу в Шаблон:Задача
- Константы взять в tex
- Отформатировать псевдокод
- Многоточие заменить на \ldots
- Оформить правильно Источники информации и См. также
- Сжатое многомерное дерево отрезков (1)
- Отформатировать псевдокод
- Англоязычные термины
- Литературу заменить на Источники информации
- Первую картинку заменить на Tex'овскую красивую фигурную скобку
- Добавить См. также
- Добавить категории
6. Дерево Фенвика
- fixed Дерево Фенвика (8)
- Англоязычные термины
- Тире заменить на шаблон
- Исправить багу в доказательстве (см. обсуждения)
- Битовые операции окружить пробелами
- Знаки неравенств заменить на \leqslant и \geqslant
- Расписать эквивалентность формул с числом единиц и побитовые операции
- Заменить i = \overline{0, n - 1} на i = 0 .. n - 1
- Добавить описание побитовых операций в самое начало, чтобы не использовать их перед их определением
- Отформатировать псевдокод
- Оформить красиво ссылки
- Добавить категории
- Имена функций взять в \mathrm
- Добавить преимущества и недостатки дерева Фенвика
- Сделать красивые таблички
- fixed Встречное дерево Фенвика (3)
- Англоязычные термины
- Добавить категории
- Добавить ссылок
- Добавить См. также
- Оформить правильно источники информации
- "отрезок длины 1..2^n" — странное обозначение длины
- Умножение матриц не является коммутативной операцией, добавить другой пример
- Свойства и картинки нормально оформить
- fixed Дерево Фенвика для некоммутативных операций (0.5)
- Добавить категории
- Доказательство оформить в виде шаблона теоремы или заменить на "Корректность"
- Скобки вокруг n в log(n) можно убрать
- Добавить См. также, Источники информации по возможности
- взяли Многомерное дерево Фенвика (7)
- Тире заменить на шаблон
- Отформатировать псевдокод
- Разместить картинку так, чтобы не залезала на псевдокод
- Имена функций обернуть в \mathrm
- Псевдокод сделать отдельным подпунктом
- Оформить красиво ссылки
- Добавить категории
- Добавить См. также
- Перерисовать картинку (см. обсуждения)
- Англоязычные термины
7. Хеширование
- fixed Хеш-таблица (3)
- Смотрите обсуждения
- Англоязычные термины
- Сказать, какой интерфейс реализует (ассоциативный массив) и провести аналогию с деревьями поиска
- Какие классы в современных языках реализуют хеширование
- Константы взять в tex
- Понятия в тексте взять в шаблон определения
- Многоточия в tex заменить на \dots
- Оформить правильно Источники информации
- fixed Разрешение коллизий (4)
- Определение убрать, оно уже есть в другом конспекте, на него просто интервики надо сделать
- Добавить про способ борьбы с коллизиями в Java 8 (+2 в карму за картинку такого способа)
- Отформатировать псевдокод
- Разрешение коллизий из предыдущего конспекта перенести в этот, а в том сделать интервики на данный конспект
- Имена функций взять в \mathrm
- \mod заменить на \bmod
- Англоязычные термины
- Оформить правильно Источники информации
- Хеширование кукушки (2)
- Англоязычные термины
- Взять в tex знаки = и константы
- Добавить интервики
- Оформить правильно источники информации
- А что делать в случае зацикливания?
- Плюсы-минусы метода
- fixed Идеальное хеширование (0.5)
- Англоязычные термины
- Задачу взять в Шаблон
- Заменить тире на шаблон
- Ссылку на неравенство Маркова оформить как интервики на соответствующий конспект
- Оформить правильно Источники информации
- Перехеширование. Амортизационный анализ (1)
- Пояснить, почему будет O(1) на добавление при перехешировании
- Фильтр Блума (0.3)
- Оформить правильно Источники информации
- Англоязычные термины
- Константы, AND, OR в Tex
- Универсальное семейство хеш-функций (0.5)
- Добавить ссылок
- Англоязычные термины
- Смотри обсуждения
- Заменить многоточия на \dots
- Заменить \mod на \bmod
- Заменить знаки неравенств
- Добавить "информации" в источники
8. Сортировка
- 0. fixed Сортировка (1)
- Англоязычные термины
- Сказать ещё про мнопоточные алгоритмы
- Оформить правильно Источники информации
- Добавить недостающие сортировки с конспектов
Квадратичные сортировки
- взяли Сортировка выбором (0.5)
- Ссылку через интервики
- Оформить правильно англоязычные термины
- Отформатировать псевдокоды
- Сказать, в чём разница между двумя вариантами и оформить сами варианты красивей
- Оформить правильно источники информации
- Добавить См. также
- Добавить категорию
- Сортировка пузырьком (2)
- Сделать единообразные псевдокоды с равным количеством отступов
- Пояснить преимущества каждой модификации сортировки
- Подробней расписать comb sort, и почему там n log n?
- Увеличить дроби
- Добавить категорию
- fixed Сортировка вставками (0.5)
- Англоязычные термины
- Убрать жирное выделение BinSearch в модификации вставками и написать с маленькой буквы
- Оформить правильно Источники информации
- Добавить категорию
Сортировки на сравнениях
- Сортировка Шелла (0.3)
- Заменить дефисы на тире
- Заменить многоточия на \ldots
- Написать правильно ln
- Пофиксить категории
- Оформить правильно Источники информации и См. также
- fixed Сортировка кучей (5)
- Оформить правильно англоязычные термины
- Обернуть имена функций в \mathrm
- Отформатировать псевдокоды
- Добавить См. также
- Оформить правильно Источники информации
- Добавить категорию
- Объяснить, почему модификация JSort даёт вообще какой-то выигрыш, добавить картинки JSort
- Быстрая сортировка (1.5)
- Англоязычные термины
- Описание алгоритма сделать покрасивей
- Заменить многоточия на \ldots
- Увеличить дроби
- Пояснить про разбиение массива на три части и чем это помогает
- Добавить ещё модификаций
- Добавить См. также
- Добавить категорию
- fixed Сортировка слиянием (4)
- Анимированную работу алгоритма сделать ссылкой-примечанием
- Можно убрать скобки в логарифме
- Отформатировать псевдокод
- Картинка залезает на псевдокод
- А лучше вообще перерисовать картинку слияния, создать красивую, а то существующая убогая
- Полуинтервалы в тексте взять в tex
- Добавить См. также
- Добавить псевдокод итеративной сортировки слиянием
- Оформить правильно Источники информации
- Добавить категорию
- Многоточия заменить на \dots
- Cортировка слиянием с использованием O(1) дополнительной памяти (0.5)
- Оформить правильно Источники информации
- Добавить категорию
- Написать в начале, зачем оно надо и насколько эффективно в реальной жизни
- Терпеливая сортировка (0.2)
- Имена массивов взять в \mathtt
- Отформатировать псевдокоды
- Добавить категорию
- fixed Timsort (4)
- Последнюю картинку можно сделать более красочной, поэтому надо её перерисовать
- Отформатировать псевдокоды
- Заменить знаки неравенств
- Обозначения переменных в тексте взять в \mathtt
- and заменить на знак конъюнкции
- min заменить на \min
- Заменить Источники на источники информации
- Добавить категорию
- Многоточия заменить на \dots
- Рассмотреть баг, недавно обнаруженный в реализациях Java, Android, etc
- взяли Теорема о нижней оценке для сортировки сравнениями (1)
- Заменить знаки неравенств
- Добавить "информации" в источники
- Добавить пару следствий из теоремы
- Добавить категорию
Многопоточные сортировки
- fixed Многопоточная сортировка слиянием (0.5)
- Комментарии в зелёный
- Пофиксить категории
- Добавить См. также
- Заменить дефисы на тире
- PSRS-сортировка
Другие сортировки
- Поиск k-ой порядковой статистики (1.5)
- Англоязычные термины
- Переменные в Tex
- Отформатировать псевдокод
- Заменить знаки неравенств
- Увеличить дроби
- Оформить правильно Источники информации
- Добавить категории, См. также
- Добавить про модификацию partition с разбиением на 3 части
- fixed Поиск k-ой порядковой статистики за линейное время (0.5)
- Дублируется определение
- Убрать пункт "Историческая справка"
- Увеличить дроби
- Заменить знаки неравенств
- Оформить правильно источники информации
- Добавить категорию
- взяли Сортировка подсчетом (1)
- Англоязычные термины
- Отформартировать псевдокод
- Добавить, что хоть алгоритм и работает за линейное время, но является псевдополиномиальным
- (+2 за более сочные картинки)
- Добавить "информации" в Источники
- Добавить категорию
- Цифровая сортировка
- fixed Карманная сортировка (0.5)
- Оформить правильно англ. термины
- Отформатировать псевдокод
- Тету сделать большой
- Оформить правильно источники информации
- Добавить См. также
- Добавить категорию
- Принцип работы красиво оформить
- Картинка залезает на код
- fixed Сортировка Хана (7)
- Дефисы заменить на тире
- Оформить правильно англоязычные термины
- Определения — жирным
- Возможно про ЭП-дерево стоит отдельный конспект написать, обсудить с куратором при желании взяться за это
- Увеличить дроби
- Добавить картинок
- == в тексте не используется
- "Algorithm Sort(k \log\log n, level, a_{0}, a_{1}, \ldots, a_{t})" — непонятные обозначения, пояснить, что всё это значит, и оформить красиво
- Все константы и переменные взять в Tex
- Добавить категорию
9. Сортирующие сети
- fixed Сортирующие сети (0.3)
- Оформить правильно англоязычные термины
- Заменить min и max на \min и \max
- Добавить "информации" в источники
- fixed Проверка сети компараторов на то, что она сортирующая. 0-1 принцип (0.5)
- "Обычно можно оценить" - немного странно здесь выглядит обычно
- Заменить знаки неравенств
- Англоязычные термины
- Написать, что определение обозначения [i:j] для компаратора
- Оформить правильно Источники информации
- Добавить См. также
- fixed Сортирующие сети для квадратичных сортировок (5)
- Добавить доказательства размеров слоёв в сетях
- Оформить правильно Источники информации
- Добавить См. также на особые свойства
- fixed Сортировочные сети с особыми свойствами (0.2)
- Переименовать конспект в "Сортирующие сети..."
- Оформить правильно англ. термины
- Оформить правильно источники информации
- Сеть Бетчера (0.5)
- Оформить правильно англ. термины
- Внутренние ссылки оформить примечаниями
- Заменить знаки неравенств
- Увеличить дроби
- Заменить многоточия на \dots
- Оформить правильно Источники информации
- Добавить См. также
10. Алгоритмы поиска
- взяли Целочисленный двоичный поиск (1)
- Задачу в Шаблон
- В псевдокоде надо l = -1, а к len(a) можно не добавлять 1
- Добавить про вариант без переполнения в псевдокод
- Заменить дефис на тире
- Сделать псевдокод более generic-like
- Вещественный двоичный поиск
- Троичный поиск (2)
- Про == нужно сказать другое
- Добавить про унимодальность функции в начале
- Сказать, почему плохо, когда функция не строго монотонна
- Добавить сюда метод дихотомии
- fixed Поиск с помощью золотого сечения (4)
- Отформатировать псевдокод
- Дроби увеличить
- Добавить категории
- Небольшой рефакторинг структуры конспекта
- Оформить правильно источники информации
- Оформить правильно англ. термины
- А вообще неплохо бы пояснение переписать и сделать более понятным
- Интерполяционный поиск (+2 в карму)
- Хотелось бы увидеть пример Интерполяционного поиска на арифметической прогрессии, как говорится в начале, в сравнении с бинпоиском
- Можно что-нибудь сказать про интерполяционный поиск на геом. прогрессии или в других предположениях