Як описати безліч
Одним з типів структур даних, які є безпосереднім втіленням математичних сутностей в інформатиці, є безлічі. Операції з ними досить часто лежать в основі різних алгоритмів. Для опису множин в різних мовах програмування існують свої кошти.
Вам знадобиться
- - середовище розробки;
- - транслятор з вибраної мови програмування.
Інструкція
1
Опишіть безліч за допомогою засобів мови програмування, якщо вони у нього є. Наприклад, в мові Pascal існує конструкція set, що дозволяє декларувати відповідні типи. Правда, обсяг таких множин не повинен перевищувати 256 елементів. Приклад оголошень типів множин може виглядати так:
type
AZLetters = set of `A` .. `Z`;
AllLetters = set of char;
Декларація змінних та констант типів, які є множинами, проводиться звичайним чином. При цьому для ініціалізації можуть бути використані літерали множин. наприклад:
const
LettersSet1: AZLetters = [ `A`, `B`, `C`] -
2
Використовуйте можливості стандартних бібліотек або модулів для опису множин. Так, бібліотека шаблонів C ++, яка повинна поставлятися разом з компілятором, включає шаблон класу контейнера set, що реалізує функціонал множин:
template lt;
class Key,
class Traits = less,
class Allocator = allocator
gt;
class set
Як видно з лістингу, аргументами шаблону set є: тип даних елементів безлічі, тип функціонального об`єкта для визначення порядку проходження елементів в наборі і тип об`єкту-розподільника пам`яті. При цьому тільки перший аргумент обов`язковий (як двох інших за замовчуванням використовується стандартний бінарний предикат less і стандартний розподільник).
3
Застосуйте класи або шаблони класів використовуваних при розробці фреймворків, які реалізують функціонал роботи з множинами, якщо такі є. Як приклад подібного засобу може виступати шаблонний клас QSet модуля QtCore бібліотеки Qt. Його можливості аналогічні тим, які має контейнер set з STL, описаний в попередньому кроці.
4
Опишіть безліч за допомогою засобів власної реалізації. Використовуйте бітові прапори, що зберігаються в масивах даних фіксованої довжини, для множин елементів простих типів і невеликого обсягу. Реалізуйте клас контейнера множин для складних типів даних. За основу можна взяти функціонал асоціативних або хешірующіх асоціативних масивів. Його ж, в свою чергу, можна побудувати на базі самобалансірующіхся бінарних дерев пошуку (наприклад, червоно-чорних дерев).
Статті за темою "Як описати безліч"
Оцініть, будь ласка статтю