Kalkwst / MicroLib

MIT License
3 stars 0 forks source link

:sparkles: Add SetUnique Queue Decorator #34

Open Kalkwst opened 1 year ago

Kalkwst commented 1 year ago

A set-unique queue decorator is an additional layer of functionality that can be applied to an existing queue data structure, allowing it to only store unique elements and automatically remove any duplicates. This can be useful for situations where the queue should only contain unique elements and the user should not have to manually check for and remove duplicates.

From a more technical perspective, a set-unique queue decorator is a design pattern that can be used to add a new layer of functionality to an existing data structure. It is used to ensure that the elements in an existing queue are unique, by automatically removing any duplicates when they are added. The decorator pattern is implemented using inheritance and composition, where the decorator class inherits from the queue class and adds new methods and/or fields to the queue class. The decorator class wraps the existing queue object and adds the new set-unique functionality by overriding the appropriate methods. The new methods of the decorator class use a set data structure to keep track of the unique elements, and this way, the decorator class can be easily added to any existing queue and can be easily removed if it's not needed anymore. The time complexity of the enqueue, dequeue and peek operations in a set-unique queue decorator depend on the size of the queue and the complexity of the set operations.