![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Набрёл на полезные структуры данных, которые не встретишь в учебниках.
- Строп - хранит длинную строку в виде дерева, состоящего из небольших подстрок.
- Буферное окно - динамический массив, позволяющий эффективную вставку и удаление элемента в некоторой области.
- Таблица фрагментов - представление текстового документа, редактируемого в текстовом редакторе.
Редактор Руднева, а точнее RAND Editor, лежащий в его основе, построен как раз на таблице фрагментов. Был бы интересный челлендж: вытащить из тех исходников реализацию таблицы фрагментов и переписать на современный Си++ или Rust.
no subject
Date: 2024-03-30 08:32 (UTC)* Timer wheel :: раз два
* Skip list
* Interval map
no subject
Date: 2024-03-30 08:44 (UTC)Интервальное отображение, кажется, идиоматический велосипед.
no subject
Date: 2024-03-30 08:46 (UTC)no subject
Date: 2024-03-30 14:13 (UTC)no subject
Date: 2024-03-30 21:40 (UTC)Для локальности доступа, да, есть другие структуры.
no subject
Date: 2024-03-30 08:46 (UTC)https://github.com/Microsoft/Adaptable
no subject
Date: 2024-03-30 08:54 (UTC)http://pnylab.com/pny/papers/vptree/main.html
http://pnylab.com/pny/papers/vptree/vptree.pdf
(Есть еще вариант с делением плоскими медианными сечениями, но я забыл аббревиатуру.)
no subject
Date: 2024-03-30 13:11 (UTC)