Участник:Shersh/Тикеты ко 2ому терму — различия между версиями
Shersh (обсуждение | вклад) (→3. Система непересекающихся множеств) |
Shersh (обсуждение | вклад) (→4. Поисковые структуры данных (проверяются)) |
||
Строка 132: | Строка 132: | ||
== 4. Поисковые структуры данных (проверяются)== | == 4. Поисковые структуры данных (проверяются)== | ||
− | + | :0. [[Поисковые структуры данных]] (''10'') | |
− | # [[Упорядоченное множество]] | + | :# Табличка поисковых структур как в Сортировке |
+ | :# Здесь хочется видеть какую-нибудь классификацию, время работы разных процедур (худшее, среднее), занимаемую память и особенности | ||
+ | :# Неплохо бы также сказать о различных деревьях, которых нет на викиконспектах | ||
+ | # [[Упорядоченное множество]] (''4'') | ||
+ | ## Расширить определение до элементов, на которых задан порядок | ||
+ | ## Пункт определение не нужен | ||
## Названия функций в тексте обернуть в \mathrm | ## Названия функций в тексте обернуть в \mathrm | ||
## Имена функций оформить в lowerCamelCase | ## Имена функций оформить в lowerCamelCase | ||
− | + | ## Добавить наивную реализацию на массиве | |
− | ## Добавить | ||
## Добавить ссылок | ## Добавить ссылок | ||
− | # '''!!!''' [[Дерево поиска, наивная реализация]] | + | ## Сказать примечание, что если нам не нужна упорядоченность, то с этой задачей неплохо ещё хеши справляются |
+ | # '''!!!''' [[Дерево поиска, наивная реализация]] (''7'') | ||
+ | ## Правильно оформить англоиязычные термины | ||
## Тире заменить на шаблон | ## Тире заменить на шаблон | ||
## Отформатировать псевдокод | ## Отформатировать псевдокод | ||
− | |||
## Функции в тексте обернуть в \mathrm | ## Функции в тексте обернуть в \mathrm | ||
## Ссылки объединить с литературой, добавить больше ссылок, оформить красиво | ## Ссылки объединить с литературой, добавить больше ссылок, оформить красиво | ||
− | # [[АВЛ-дерево]] | + | ## Заменить названия обходов на preorder и postorder |
+ | ## Добавить простые рекурсивные варианты всех (или почти всех операций), когда нам не нужно хранить родителей, в удалении есть два способа реализации, пояснить разницу | ||
+ | ## Кажется, что удаление можно написать проще, даже в таком варианте | ||
+ | # '''!!!''' [[АВЛ-дерево]] (''7'') | ||
## Исправить знаки неравенств в tex | ## Исправить знаки неравенств в tex | ||
## Заменить тире на шаблон | ## Заменить тире на шаблон | ||
## Константы обернуть в tex | ## Константы обернуть в tex | ||
## Литературу заменить на источники информации, добавить ссылок | ## Литературу заменить на источники информации, добавить ссылок | ||
+ | ## Англоязычные термины | ||
+ | ## Псевдокоды поворотов (с родителями и без) | ||
+ | ## Картинки, поясняющие расстановку балансов после поворотов (большого и малого), то есть со шкалой высот рядом | ||
## '''!!!''' Рассмотреть реализацию с меньшим количеством памяти в узлах | ## '''!!!''' Рассмотреть реализацию с меньшим количеством памяти в узлах | ||
− | # [[2-3 дерево]] | + | # [[2-3 дерево]] (''1.5'') |
− | ## | + | ## Как-то структура криво оформлена; неплохо бы ещё сказать, как это на практике хранится/удобно реализовывается. |
+ | ## Источники информаии оформить правильно | ||
## Случаи сделать списком | ## Случаи сделать списком | ||
− | # [[B-дерево]] | + | ## Пояснить во вставке про изменения ключей в родителях |
+ | ## ''+4'' за красивую картинку вставки с расщеплением нескольких узлов | ||
+ | # [[B-дерево]] (''1.5'') | ||
+ | ## Опять бы структуру красивей оформить | ||
## Увеличить дроби | ## Увеличить дроби | ||
## Отформатировать псевдокод | ## Отформатировать псевдокод | ||
− | # '''!!!''' [[Красно-черное дерево]] | + | ## Оформить правильно См. также и Источники информации |
− | ## | + | # '''!!!''' [[Красно-черное дерево]] (''7'') |
+ | ## Ангоязычные термины | ||
## Тире в тексте {{---}} на шаблон | ## Тире в тексте {{---}} на шаблон | ||
## Константы взять в tex | ## Константы взять в tex | ||
## Оформить красиво источники информации | ## Оформить красиво источники информации | ||
+ | ## Добавить См. также | ||
## Определение выделить жирным | ## Определение выделить жирным | ||
## В Кормене чуть другое определение красно-чёрного дерева: рассмотреть эквивалентность | ## В Кормене чуть другое определение красно-чёрного дерева: рассмотреть эквивалентность | ||
− | ## | + | ## А что будет, если сделать корень дерева красным? |
− | # [[Декартово дерево]] | + | ## Чем же 1 бит - это преимущество? Во всех современных ЯП самый маленький тип имеет размер 1 байт. |
+ | # '''!!!''' [[Декартово дерево]] (''6'') | ||
## Тире заменить на шаблон | ## Тире заменить на шаблон | ||
## Имена функций оформить в lowerCamelCase | ## Имена функций оформить в lowerCamelCase | ||
## Сделать псевдокод менее похожим на код С++ (без ссылок): пусть split возвращает пару деревьев | ## Сделать псевдокод менее похожим на код С++ (без ссылок): пусть split возвращает пару деревьев | ||
− | ## | + | ## Разобраться с приоритетами (см. обсуждение) |
− | # [[Декартово дерево по неявному ключу]] | + | ## Какое-то палево в удалении с k.x - eps |
+ | ## Оформить правильно источники информации | ||
+ | ## Заменить знаки неравенств | ||
+ | # [[Декартово дерево по неявному ключу]] (''4'') | ||
## Добавить псевдокод | ## Добавить псевдокод | ||
## Тире заменить на шаблон | ## Тире заменить на шаблон | ||
Строка 176: | Строка 197: | ||
## Добавить ссылок | ## Добавить ссылок | ||
## Функции в тексте обернуть в \mathrm и оформить их в lowerCamelCase | ## Функции в тексте обернуть в \mathrm и оформить их в lowerCamelCase | ||
− | # '''!!!''' [[Splay-дерево]] | + | # '''!!!''' [[Splay-дерево]] (''8'') |
+ | ## Оформить правильно англоязычные термины | ||
## Исправить знаки неравенств в tex | ## Исправить знаки неравенств в tex | ||
## Увеличить дроби | ## Увеличить дроби | ||
− | ## | + | ## Дефисы заменить на шаблон тире |
## Показать, что лемма верна для любого фиксированного веса узла | ## Показать, что лемма верна для любого фиксированного веса узла | ||
## Функции оформить в lowerCamelCase | ## Функции оформить в lowerCamelCase | ||
− | # [[Рандомизированное бинарное дерево поиска]] | + | ## Пример, когда move to root занимает <tex>\Omega(n)</tex> времени, и заменить O на омегу |
+ | ## Знаки умножения заменить на \cdot | ||
+ | ## Заменить многоточия на \ldots | ||
+ | # '''!!!''' [[Tango-дерево]] (''8'') | ||
+ | ## Доказательство теоремы Уилбера | ||
+ | ## А причём тут вообще она? | ||
+ | # [[Рандомизированное бинарное дерево поиска]] (''4'') | ||
## Отформатировать псевдокод | ## Отформатировать псевдокод | ||
## Функции в тексте взять в \mathrm | ## Функции в тексте взять в \mathrm | ||
## Умножение сделать везде единообразным, например, через \cdot | ## Умножение сделать везде единообразным, например, через \cdot | ||
## Переменные и константы в тексте взять в tex | ## Переменные и константы в тексте взять в tex | ||
− | # [[Дерево ван Эмде Боаса]] | + | ## Увеличить дроби |
+ | ## Первое определение выделить жирным | ||
+ | ## Вертикальную черту в tex заменить на \mid | ||
+ | ## Оформить правильно источники информации | ||
+ | ## Убрать скобки вокруг похожих идей | ||
+ | # [[Дерево ван Эмде Боаса]] (''1'') | ||
## Имена функций взять в \mathrm | ## Имена функций взять в \mathrm | ||
## Отформатировать псевдокод | ## Отформатировать псевдокод | ||
− | # '''!!!''' [[Список с пропусками]] | + | ## Англоязычные термины |
+ | ## Оформить правильно источники информации | ||
+ | ## Добавить См. также | ||
+ | # '''!!!''' [[Список с пропусками]] (''7'') | ||
## \theta cделать большой буквой | ## \theta cделать большой буквой | ||
## Определение в начале мутное | ## Определение в начале мутное | ||
+ | ## Оформить правильно англоязычные термины | ||
## Для log n уровней неясно: добавить знак умножения надо, и откуда там 2 log n взялось? | ## Для log n уровней неясно: добавить знак умножения надо, и откуда там 2 log n взялось? | ||
## Увеличить дроби | ## Увеличить дроби | ||
+ | ## Пояснить подробней структуру и разделить операции по псевдокодам, добавить пояснений | ||
## Отформатировать псевдокод | ## Отформатировать псевдокод | ||
## log заменить на \log | ## log заменить на \log | ||
## Расписать связь вероятности монетки с числом уровней; добавить пару слов про различные варианты честности монетки и что от них зависит | ## Расписать связь вероятности монетки с числом уровней; добавить пару слов про различные варианты честности монетки и что от них зависит | ||
− | # [[Fusion tree]] | + | ## Оформить правильно источники информации |
+ | ## Добавить См. также | ||
+ | ## Написать, почему все так любят скиплист, особенно в вычислительной геометрии | ||
+ | # '''!!!''' [[Fusion tree]] (''5'') | ||
## Тире заменить на шаблон | ## Тире заменить на шаблон | ||
## sketch cделать везде с маленькой буквы, а кое-где исправить snetch на sketch | ## sketch cделать везде с маленькой буквы, а кое-где исправить snetch на sketch | ||
## XOR заменить на \oplus | ## XOR заменить на \oplus | ||
+ | ## AND тоже заменить на что-то хорошее | ||
## succ cделать с маленькой буквы | ## succ cделать с маленькой буквы | ||
− | # [[Сверхбыстрый цифровой бор]] | + | ## Добавить про цикл Де Брюина и сказать, где он применяется (см. лекции Станкевича) |
+ | ## Оформить правильно источники информации | ||
+ | ## Сделать в утверждении список через #, убрать ";" | ||
+ | ## +1 в карму за нахождение непонятно объяснённого момента | ||
+ | # [[Сверхбыстрый цифровой бор]] (''3'') | ||
+ | ## Отформатировать псевдокоды | ||
+ | ## Сказать, почему префиксы в хеше не буду есть много памяти | ||
+ | ## Добавить См. также | ||
+ | # [[Rope]] (''+2 в карму'') | ||
+ | ## Почему бы не хранить просто вектор указателей на строки, а подстроки брать slice'ами? | ||
+ | ## И что ещё можно делать с Rope? | ||
== 5. Дерево отрезков (проверяется)== | == 5. Дерево отрезков (проверяется)== |
Версия 18:21, 4 февраля 2015
Тикеты индексируются как "X-Y", где X — номер раздела, Y — номер конспекта внутри раздела.
Содержание
- 1 1. Амортизационный анализ
- 2 2. Приоритетные очереди
- 3 3. Система непересекающихся множеств
- 4 4. Поисковые структуры данных (проверяются)
- 5 5. Дерево отрезков (проверяется)
- 6 6. Дерево Фенвика (проверяется)
- 7 7. Хеширование (проверяется)
- 8 8. Сортировка (проверяются)
- 9 9. Сортирующие сети (проверяются)
- 10 10. Алгоритмы поиска (проверяются)
1. Амортизационный анализ
- !!! Амортизационный анализ (до 10)
- Англоязычные термины
- Нормальный нумерованный список
- Добавить интересных примеров (по 3 за пример)
- !!! Динамический массив (10)
- Оптимизации реализаций в реальной жизни https://github.com/facebook/folly/blob/master/folly/docs/FBVector.md (кеши, всё такое)
- Сравнение со списком
- Англоязычные термины
- Потенциальный анализ для произвольных A, B, C
- !!! Hashed Array Tree (5)
- Сравнение с таким способом: храним указатели на массивы константного размера, размеры массивов не меняем, увеличиваем только массив указателей (чтобы не копировать). За сколько будет работать?
- Добавить про буферизованный список
- Редактирование по мелочи
- Список
- Интересные задачи на список (по 3 за каждую)
- Стек (0.5)
- Обозначения перед псевдокодом в \mathtt
- Ссылки на источники информации
- Многоточия на \dots
- Очередь (0.5)
- То же самое, что и в предыдущем
- Персистентный стек (3)
- Пример задачи
- Более подробный псевдокод
- Оформить нормально источники информации
- Персистентная очередь (1)
- Убрать заголовки первого уровня
- Оформить правильно источники информации
- Оформить правильно кортеж, длинные обозначения в tex взять в \mathtt
- Отформатировать псевдокоды
- Персистентный дек
- Мажорирующий элемент (1.5)
- Поправить псевдокод
- Заменить тире на шаблон, а кое-где — наоборот, на дефис
- != в тексте заменить на \ne
- Убрать скобки из диапазона массива
- Заменить size в доказательстве про K на ||
- Длинные обозначения взять в \mathtt
- Заменить источники на источники информации
- !!! Счетчик Кнута (10)
- Добавить прибавление к произвольному разряду за O(1)
2. Приоритетные очереди
- 0. !!! Приоритетные очереди (10)
- Добавить табличку с кучами и асимптотиками операций, как в сортировке
- Надо пояснить, какой интерфейс должны реализовывать приоритетные очереди, как они реализованы в современных языках программирования
- Добавить даже про те кучи, которых нет на вики-конспектах (возможно, потом добавятся)
- Добавить всякой общей информации (где применяются, зачем нужны, почему не бывает "быстрых" куч)
- Двоичная куча (4)
- Англоязычные термины
- Добавить про merge
- Добавить про поиск k-того элемента в как будто отсортированном массиве (+1 за красивую картинку)
- Биномиальная куча (3)
- Англоязычные термины
- Табличку сделать красивой
- Добавить про конфлюэнтную персистентность биномиальных куч
- Фибоначчиева куча (2)
- Англоязычные термины
- Оформить структуру узла (то есть только первый пункт структуры) псевдокдом с комментариями
- Табличку оформить красиво
- !!! Левосторонняя куча (5)
- Написать псевдокод, используя какой-нибудь функциональный язык программирования (например, Haskell) в качестве примера
- Добавить при этом код других функций
- Добавить См. также
- Тонкая куча (4)
- Оформить правильно англоязычные термины
- Взять длинные обозначение в \mathrm
- Табличку сделать красивой
- Отформатировать псевдокоды
- Оформить структуру узла и кучи псевдокодом с комментариями
- !!! Толстая куча на избыточном счетчике (7)
- Англоязычные термины
- Расписать подробно операцию "декремент". Можно как-то связать со счётчиком Кнута.
- Ссылка в интервики с большой буквы — заменить на маленькую
- Отформатировать псевдокод
- Всё оформлено в UpperCamelCase, наверное, надо что-то с этим сделать
- Названия функций обернуть в \mathrm
- Поправить ошибку в Источниках
- Все переменные и константы взять в tex
- "Основные операции оформить аккуратней
- В одном месте лишнее выделение текста псевдокодным прямоугольником, в другом месте комментарий вылез за псевдокод
- Заголовки сделать на уровень меньше
- Структуру оформить псевдокодом с комментариями
- Подпункты с большой буквы назвать
- Возможно, надо будет исправить что-то ещё, слишком много трэша
- Куча Бродала-Окасаки (4)
- Ссылки заменить на источники информации, сделать маркированным списком
- Непонятно, почему merge работает за О(1), если он вызывает insert ниже, который вызывает merge
- Написать подробней операции
- Форматнуть чутка псевдокод
- Заменить Смотри также на См. также
3. Система непересекающихся множеств
- Наивные реализации (0.5)
- Сделать структуру в списке типа Generic
- Написать про возможную частую ошибку в реализации массивом
- Взять обозначения перед псевдокодом и внутри комментариев в \mathtt
- Списки с весовой эвристикой (0.5)
- Оформить правильно источники информации
- Интервики на амортизационный анализ
- Добавить пробелы в Других реализациях перед (
- Англоязычные термины правильно оформить
- !!! Реализация с помощью леса корневых деревьев (8)
- Интервики
- Функции в тексте взять в \mathrm
- Заменить \ge на \geqslant
- Добавить определение итерированного логарифма, а то из текста непонятно, что это такое
- Переменные и константы взять в tex
- Пояснить переходы в оценке ранговой эвристики: про интервал, про оценку на , и вообще, сделать доказательство более понятным
- Отформатировать псевдокоды
- Убрать запятые в определении функции аккермана
- Оформить правильно источники информации
- Добавить См. также
- !!! СНМ с операцией удаления за О(1) (8)
- "Наша структура данных должна" - убрать наша
- Заменить введение на описание
- Все переменные взять в Tex
- Добавить, что корень — это представитель
- max заменить на \max
- Провести аналогию со списками в модификации первого соображения
- Пояснить неподписанные шаги в некоторых функциях
- Операцию присваивания нормально написать (через стрелочку или просто через равно)
- N_list и DFS_list по-разному в конспекте называются, надо одинаково сделать
- "Мы работаем в предположении, что очистка списка не подразумевает удаления каждого элемента вручную" - пояснить, почему можем так предполагать
- Постараться обезличить текст
- Кое-где не хватает точек в конце предложений
- Пояснить соображения для второй модификации, начав с того, почему нельзя сделать намного проще: хранить в корне просто список листьев поддерева с этим корнем; во время union объединить два списка; во время get просто добавить все вершины пути к списку листьев корня (а то что-то развели в конспекте текста на дофига). Если внезапно окажется, что можно проще, то переписать всё.
- Если проще нельзя, то пояснить про трудности с обычной эвристикой во время get (find)
4. Поисковые структуры данных (проверяются)
- 0. Поисковые структуры данных (10)
- Табличка поисковых структур как в Сортировке
- Здесь хочется видеть какую-нибудь классификацию, время работы разных процедур (худшее, среднее), занимаемую память и особенности
- Неплохо бы также сказать о различных деревьях, которых нет на викиконспектах
- Упорядоченное множество (4)
- Расширить определение до элементов, на которых задан порядок
- Пункт определение не нужен
- Названия функций в тексте обернуть в \mathrm
- Имена функций оформить в lowerCamelCase
- Добавить наивную реализацию на массиве
- Добавить ссылок
- Сказать примечание, что если нам не нужна упорядоченность, то с этой задачей неплохо ещё хеши справляются
- !!! Дерево поиска, наивная реализация (7)
- Правильно оформить англоиязычные термины
- Тире заменить на шаблон
- Отформатировать псевдокод
- Функции в тексте обернуть в \mathrm
- Ссылки объединить с литературой, добавить больше ссылок, оформить красиво
- Заменить названия обходов на preorder и postorder
- Добавить простые рекурсивные варианты всех (или почти всех операций), когда нам не нужно хранить родителей, в удалении есть два способа реализации, пояснить разницу
- Кажется, что удаление можно написать проще, даже в таком варианте
- !!! АВЛ-дерево (7)
- Исправить знаки неравенств в tex
- Заменить тире на шаблон
- Константы обернуть в tex
- Литературу заменить на источники информации, добавить ссылок
- Англоязычные термины
- Псевдокоды поворотов (с родителями и без)
- Картинки, поясняющие расстановку балансов после поворотов (большого и малого), то есть со шкалой высот рядом
- !!! Рассмотреть реализацию с меньшим количеством памяти в узлах
- 2-3 дерево (1.5)
- Как-то структура криво оформлена; неплохо бы ещё сказать, как это на практике хранится/удобно реализовывается.
- Источники информаии оформить правильно
- Случаи сделать списком
- Пояснить во вставке про изменения ключей в родителях
- +4 за красивую картинку вставки с расщеплением нескольких узлов
- B-дерево (1.5)
- Опять бы структуру красивей оформить
- Увеличить дроби
- Отформатировать псевдокод
- Оформить правильно См. также и Источники информации
- !!! Красно-черное дерево (7)
- Ангоязычные термины
- Тире в тексте — на шаблон
- Константы взять в tex
- Оформить красиво источники информации
- Добавить См. также
- Определение выделить жирным
- В Кормене чуть другое определение красно-чёрного дерева: рассмотреть эквивалентность
- А что будет, если сделать корень дерева красным?
- Чем же 1 бит - это преимущество? Во всех современных ЯП самый маленький тип имеет размер 1 байт.
- !!! Декартово дерево (6)
- Тире заменить на шаблон
- Имена функций оформить в lowerCamelCase
- Сделать псевдокод менее похожим на код С++ (без ссылок): пусть split возвращает пару деревьев
- Разобраться с приоритетами (см. обсуждение)
- Какое-то палево в удалении с k.x - eps
- Оформить правильно источники информации
- Заменить знаки неравенств
- Декартово дерево по неявному ключу (4)
- Добавить псевдокод
- Тире заменить на шаблон
- Сделать интервики на Rope
- Добавить ссылок
- Функции в тексте обернуть в \mathrm и оформить их в lowerCamelCase
- !!! Splay-дерево (8)
- Оформить правильно англоязычные термины
- Исправить знаки неравенств в tex
- Увеличить дроби
- Дефисы заменить на шаблон тире
- Показать, что лемма верна для любого фиксированного веса узла
- Функции оформить в lowerCamelCase
- Пример, когда move to root занимает времени, и заменить O на омегу
- Знаки умножения заменить на \cdot
- Заменить многоточия на \ldots
- !!! Tango-дерево (8)
- Доказательство теоремы Уилбера
- А причём тут вообще она?
- Рандомизированное бинарное дерево поиска (4)
- Отформатировать псевдокод
- Функции в тексте взять в \mathrm
- Умножение сделать везде единообразным, например, через \cdot
- Переменные и константы в тексте взять в tex
- Увеличить дроби
- Первое определение выделить жирным
- Вертикальную черту в tex заменить на \mid
- Оформить правильно источники информации
- Убрать скобки вокруг похожих идей
- Дерево ван Эмде Боаса (1)
- Имена функций взять в \mathrm
- Отформатировать псевдокод
- Англоязычные термины
- Оформить правильно источники информации
- Добавить См. также
- !!! Список с пропусками (7)
- \theta cделать большой буквой
- Определение в начале мутное
- Оформить правильно англоязычные термины
- Для log n уровней неясно: добавить знак умножения надо, и откуда там 2 log n взялось?
- Увеличить дроби
- Пояснить подробней структуру и разделить операции по псевдокодам, добавить пояснений
- Отформатировать псевдокод
- log заменить на \log
- Расписать связь вероятности монетки с числом уровней; добавить пару слов про различные варианты честности монетки и что от них зависит
- Оформить правильно источники информации
- Добавить См. также
- Написать, почему все так любят скиплист, особенно в вычислительной геометрии
- !!! Fusion tree (5)
- Тире заменить на шаблон
- sketch cделать везде с маленькой буквы, а кое-где исправить snetch на sketch
- XOR заменить на \oplus
- AND тоже заменить на что-то хорошее
- succ cделать с маленькой буквы
- Добавить про цикл Де Брюина и сказать, где он применяется (см. лекции Станкевича)
- Оформить правильно источники информации
- Сделать в утверждении список через #, убрать ";"
- +1 в карму за нахождение непонятно объяснённого момента
- Сверхбыстрый цифровой бор (3)
- Отформатировать псевдокоды
- Сказать, почему префиксы в хеше не буду есть много памяти
- Добавить См. также
- Rope (+2 в карму)
- Почему бы не хранить просто вектор указателей на строки, а подстроки брать slice'ами?
- И что ещё можно делать с Rope?
5. Дерево отрезков (проверяется)
- Статистики на отрезках. Корневая эвристика
- Отформатировать псевдокод
- Заменить тире на шаблон
- fixed Дерево отрезков. Построение
- Добавить псевдокод персистентного дерева отрезков
- Заменить в псевдокоде f на бинарную операцию
- Поправить ссылки в источниках
- Поправить tex: знаки неравенств, дроби и т. п.
- Отрефакторить псевдокод
- Исправить несогласованность текста и псевдокода: в тексте полуинтервал, а в псевдоде — отрезок
- Исправить ошибку в картинке персистентного дерева
- fixed Реализация запроса в дереве отрезков сверху
- Отформатировать псевдокод
- Тире заменить на шаблон
- Заменить "Ссылки" на источники информации и оформить их маркированным списком
- Добавить см. также на реализацию запросов cнизу
- fixed Реализация запроса в дереве отрезков снизу
- Отформатировать псевдокод
- Имена переменных оформить в lowerCamelCase
- Переменные в тексте взять в tex
- Источники информации оформить маркированным списком
- Добавить см. также на реализацию запросов сверху
- Несогласованные поддеревья. Реализация массового обновления
- Константы взять в tex
- Отформатировать псевдокод
- Добавить примеры массовых операций
- Многомерное дерево отрезков
- Константы взять в tex
- Отформатировать псевдокод
- Сжатое многомерное дерево отрезков
- Отформатировать псевдокод
- Литературу заменить на Источники информации
6. Дерево Фенвика (проверяется)
- !!! Дерево Фенвика
- Тире заменить на шаблон
- Исправить багу в доказательстве (см. обсуждения)
- Битовые операции окружить пробелами
- Знаки неравенств заменить на \leqslant и \geqslant
- Расписать эквивалентность формул с числом единиц и побитовые операции
- Заменить i = \overline{0, n - 1} на i = 0 .. n - 1
- Добавить описание побитовых операций в самое начало, чтобы не использовать их перед их определением
- Отформатировать псевдокод
- Оформить красиво ссылки
- Добавить категории
- Имена функций взять в \mathrm
- Добавить преимущества и недостатки дерева Фенвика
- Встречное дерево Фенвика
- Добавить категории
- Добавить ссылок
- "отрезок длины 1..2^n" — странное обозначение длины
- Умножение матриц не является коммутативной операцией, добавить другой пример
- Дерево Фенвика для некоммутативных операций
- Добавить категории
- Доказательство оформить в виде шаблона теоремы или заменить на "Корректность"
- Скобки вокруг n в log(n) можно убрать
- !!! Многомерное дерево Фенвика
- Тире заменить на шаблон
- Отформатировать псевдокод
- Разместить картинку так, чтобы не залезала на псевдокод
- Имена функций обернуть в \mathrm
- Псевдокод сделать отдельным подпунктом
- Оформить красиво ссылки
- Добавить категории
- Перерисовать картинку (см. обсуждения)
7. Хеширование (проверяется)
- Хеш-таблица
- Смотрите обсуждения
- Константы взять в tex
- Понятия в тексте взять в шаблон определения
- Многоточия в tex заменить на \dots
- Разрешение коллизий
- Отформатировать псевдокод
- Разрешение коллизий из предыдущего конспекта перенести в этот, а в том сделать интервики на данный конспект
- Имена функций взять в \mathrm
- \mod заменить на \bmod
- Поправить ссылки
- !!! Добавить оценку на длину кластеров
- Хеширование кукушки
- Взять в tex знаки = и константы
- Добавить интервики
- Объединить ссылки с источниками
- Идеальное хеширование
- Заменить тире на шаблон
- Ссылку на неравенство Маркова оформить как интервики на соответствующий конспект
- Перехеширование. Амортизационный анализ
- Оформить функции в lowerCamelCase и обернуть их в тексте в \mathrm
- Изменить знаки неравенств
- Добавить ссылок
- Фильтр Блума
- Универсальное семейство хеш-функций
- Добавить ссылок
8. Сортировка (проверяются)
- Сортировка выбором
- Ссылку через интервики
- fixed Сортировка пузырьком
- Добавить ещё оптимизаций этой сортировки (шейкерная сортировка, расчёской, odd-even и прочие — полный список есть на википедии ) — полностью расписывать не надо, только ссылки и краткое описание. Об уменьшии константы в асимптотике можно пару слов сказать, если только она и уменьшается.
- Дать точные оценки на число сравнений в худшем случае
- Отформатировать псевдокод
- Ссылка на вики
- fixed Сортировка вставками
- То же самое, что и в предыдущем тикете
- Увеличить дроби
- Внести переменные и константы в tex
- Сортировка Шелла
- взяли Сортировка кучей
- Можно добавить всякие модификации сортировки кучей, например, JSort.
- fixed Быстрая сортировка
- Тут вообще ссылки ужасные
- Отформатиовать псевдокод
- Сортировка слиянием
- Анимированную работу алгоритма сделать ссылкой-примечанием
- Можно убрать скобки в логарифме
- Отформатировать псевдокод
- Картинка залезает на псевдокод
- Полуинтервалы в тексте взять в tex
- Добавить См. также
- Cортировка слиянием с использованием O(1) дополнительной памяти
- Теорема о нижней оценке для сортировки сравнениями
- Сортировка подсчетом
- Сортировка подсчетом сложных объектов
- fixed Цифровая сортировка
- Добавить модификацию для сортировки цифр в порядке от старших к младшим
- Убрать ; из псевдокода
- Карманная сортировка
- Поиск k-ой порядковой статистики
- Поиск k-ой порядковой статистики за линейное время
- fixed Сортировка Хана
- Привести конспект в порядок!
- Добавить шаблоны определений
- Добавить шаблоны лемм
- Поправить tex, где его нет
- Корректно оформить ссылки
- Поподробней рассказать про ЭП-дерево
- Использование лемм оформить ссылками
- Структуру поменять, переставить пункты местами, чтобы не было ссылок в тексте на то, что ещё не рассказывалось
- "Конец" в доказательстве выглядит некрасиво. Как и "Доказательство". Опять же, всё сделать шаблонами
- Псевдокод добавить, если из описания будет не совсем понятно, как это реализовать (данный пункт допускает возможность поправить идейное описание алгоритма вместо добавление псевдокода)
- Возможно, ещё какие-то правки по мелочи
- Картинки приветствуются. Если их добавить (или убедить меня, что и так норм, или сделать что-то другое), а всё остальное будет очень няшно сделано, то всё может рассматриваться как целый коспект в баллах.
- Timsort
- Последнюю картинку можно сделать более красочной
9. Сортирующие сети (проверяются)
- fixed Сортирующие сети
- Занести оставшиеся определения в Шаблон: Определение
- Англоязычные термины ко всем
- Ссылки на вики через интервики
- Проверка сети компараторов на то, что она сортирующая. 0-1 принцип
- Ссылки через интервики
- Поменять знаки неравенст в tex на более красивые
- Сортировочные сети с особыми свойствами
- Сортирующие сети для квадратичных сортировок
- Сеть Бетчера
10. Алгоритмы поиска (проверяются)
- взяли Целочисленный двоичный поиск
- Заменить тире на Шаблон:---
- Англоязычные термины
- Переменные взять в tex
- Отформатировать псевдокод
- Добавить категории
- <= заменить в tex на \leqslant
- Добавить эвристику с запоминанием последнего узла при последовательных запросах и её оценку
- Добавить ссылок
- Пару слов о том, чем плохо условие на остановку, если вдруг попали в нужный элемент (или чем хорошо)
- fixed Вещественный двоичный поиск
- Плюсы и минусы cпособов оформить по-красивому
- Отформатировать псевдокод
- Добавить категории
- Добавить оценку на число итераций
- Больше ссылок
- fixed Троичный поиск
- Добавить категории
- Добавить ссылок
- Отформатировать псевдокод
- Сделать так, чтобы картинка не залезала на псевдокод
- Англоязычные термины
- Увеличить дроби
- См. также красиво оформить
- взяли Поиск с помощью золотого сечения
- Отформатировать псевдокод
- Дроби увеличить
- Добавить категории
- Добавить аналогичный, но другое поиск фибоначчи
- Небольшой рефакторинг структуры конспекта
- fixed Интерполяционный поиск
- Расположения картинки и псевдокода относительно друг друга не очень удачные
- Нормальную картинку сделать
- Ссылки нормально оформить
- Расписать асимптотику нормально
- Отформатировать псевдокод
- Примеры данных, на которых поиск работает хорошо