Лекции Долинского М.С.\Лекции Метельского И.С. (к IOI 2005 и IOI 2006)\1.Сложные структуры данных, потоки, алгоритмы на строках\
Структуры данных

Наверх

Структуры данных

При решении любой задачи возникает необходимость работы с данными и выполнения операций над ними. Набор этих операций для каждой задачи, вообще говоря, свой. Однако, если некоторый набор операций часто используется при решении различных задач, то полезно придумать способ организации данных, позволяющий выполнять именно эти операции как можно эффективнее. После того, как такой способ придуман, при решении конкретной задачи можно считать, что у нас в наличии имеется "черный ящик" (его мы и будем называть структурой данных), про который известно, что в нем хранятся данные некоторого рода, и который умеет выполнять некоторые операции над этими данными. Это позволяет отвлечься от деталей и сосредоточиться на характерных особенностях задачи. Внутри этот "черный ящик" может быть реализован различным образом, при этом следует стремиться к как можно более эффективной (быстрой и экономично расходующей память) реализации. Этот материал посвящен описанию некоторых часто используемых на практике структур данных и способов эффективной реализации этих структур. Описываемые структуры часто сопровождаются примерами задач, в которых они могут быть применены.

1. Простые структуры данных
2. Приоритетные очереди
3. Система непересекающихся множеств
4. Структуры с одиночной модификацией
5. Структуры с интервальной модификацией

Наверх