Шрифт:
Стеки и очереди — две весьма распространенные в информатике структуры данных. В первом издании этой книги им было уделено чрезмерно много внимания. Для тех, кого интересуют общие вопросы, я оставил кое-какой материал; для остальных есть немало великолепных книг по структурам данных и алгоритмам.
Деревья полезны для сортировки, поиска и просто представления иерархических данных. Мы рассмотрим двоичные деревья и сделаем несколько замечаний о деревьях более высокой степени.
Граф — это обобщение понятия дерева. Граф представляет собой множество вершин, соединенных ребрами, причем с каждым ребром может быть связан вес или направление. Они полезны для решения многих задач, в том числе при анализе сетей и организации знаний.
Но самыми простыми структурами являются множества. С них мы и начнем.
9.1. Множества
Мы уже видели, что некоторые методы класса
Чтобы получить в свое распоряжение класс
При этом также добавляется метод
Создать новое множество нетрудно. Метод
9.1.1. Простые операции над множествами
Для объединения множеств служит метод
Пересечение множеств вычисляется методом
Унарный минус обозначает разность множеств; мы обсуждали эту операцию в разделе 8.1.9.
Принадлежность элемента множеству проверяют методы
Чтобы проверить, является ли множество пустым, мы вызываем метод
Можно проверить, является ли одно множество подмножеством, собственным подмножеством или надмножеством другого.
Метод