З.Н. Русакова, А.В. Орел
4
Рис. 1.
Представление структуры данных алгоритма кластеризации
Для программной реализации описанной нелинейной динамиче-
ской структуры данных используются средства Visual C++ [8–10].
Решение задачи осуществляется на основе объектно-ориентирован-
ного подхода с разработкой классов, методами которых решается за-
дача. Основные спроектированные классы рассмотрены далее. Звено
горизонтального списка — элемент кластеризации — включает поля
и методы, приводимые ниже.
Информационное поле Pointz *p — указатель на вектор, описы-
вающий точку в многомерном пространстве, в прототипе системы —
точка на плоскости. Класс Pointz включает также поле, задающее но-
мер точки при вводе (или имя точки), и поле, куда в результате кла-
стеризации записывается номер кластера, которому назначается точ-
ка в процессе кластеризации.
Element *next; Element *previous; — указатели на следующее и
предыдущее звенья в горизонтальном списке, включающем все объ-
екты выборки.
ListOfNearElementz *lnp — указатель на вертикальный список,
содержащий точки локального сгущения или ближайшие точки для
элемента звена (текущей точки) горизонтального списка. Определе-
ние класса Element для описания элемента кластеризации: