Structures


Content:

public abstract class ChunkedDictionary<TKey, TGlobalKey, TLocalKey, TValue> : IDictionary<TKey, TValue>

Language: C#

Абстрактный базовый класс для разреженного словаря с поддержкой чанков (chunks).
Разделяет ключи на глобальную и локальную части для эффективного хранения больших разреженных данных.
Все операции потокобезопасны благодаря встроенной синхронизации.

Type Parameters:

  • TKey: Тип объединённого ключа
  • TGlobalKey: Тип глобальной части ключа (для идентификации чанка)
  • TLocalKey: Тип локальной части ключа (для идентификации элемента в чанке)
  • TValue: Тип значения

public class ChunkedDictionary2D<T> : ChunkedDictionary<FVector2, IVector2, FVector2, T>

Language: C#

2D словарь с поддержкой чанков для хранения данных в 2D сетке с вещественными координатами (FVector2).
Использует целочисленные координаты чанков (IVector2) для эффективного разделения пространства.
Позволяет переопределять размер сетки и автоматически перестраивает структуру при изменении.

Type Parameters:

  • T: Тип значений, хранящихся в словаре

public class ChunkedDictionary2DI<T> : ChunkedDictionary<IVector2, IVector2, IVector2, T>

Language: C#

2D словарь с поддержкой чанков для целочисленных координат (IVector2).
Использует целочисленное разделение пространства на чанки для хранения целочисленных данных.
Позволяет переопределять размер сетки и автоматически перестраивает структуру при изменении.

Type Parameters:

  • T: Тип значений, хранящихся в словаре

public class ChunkedDictionary3D<T> : ChunkedDictionary<FVector3, IVector3, FVector3, T>

Language: C#

3D словарь с поддержкой чанков для хранения данных в 3D сетке с вещественными координатами (FVector3).
Использует целочисленные координаты чанков (IVector3) для эффективного разделения 3D пространства.
Позволяет переопределять размер сетки и автоматически перестраивает структуру при изменении.

Type Parameters:

  • T: Тип значений, хранящихся в словаре

public class ChunkedDictionary3DI<T> : ChunkedDictionary<IVector3, IVector3, IVector3, T>

Language: C#

3D словарь с поддержкой чанков для целочисленных координат (IVector3).
Использует целочисленное разделение 3D пространства на чанки для хранения целочисленных данных.
Позволяет переопределять размер сетки и автоматически перестраивает структуру при изменении.

Type Parameters:

  • T: Тип значений, хранящихся в словаре

public class SortedTree<T>

Language: C#

Самобалансирующееся двоичное дерево поиска (AVL дерево) для хранения отсортированных элементов.
Поддерживает быстрый поиск, добавление и удаление элементов с временной сложностью O(log n).
Использует компаратор для определения порядка сортировки элементов.

Type Parameters:

  • T: Тип элементов, хранящихся в дереве