gb.data

Il componente gb.data fornisce implementazioni di vari Abstract Datatypes (ADT). Questi sono contenitori di dati con un'interfaccia ben definita ma un'implementazione variabile. Tutte le classi sono costruite attorno al tipo di dati Variant di Gambas.

Autore Tobias Boege.

Classe Descrizione
AvlTree Un albero AVL è un albero di ricerca binario auto-bilanciante. Ciò significa che possiamo garantire l'inserimento, la rimozione e il recupero dei dati nel tempo O(log n), indipendentemente dai dati che hai nella struttura. La sua interfaccia è simile a quella di una Collection.
Circular Un Circular buffer o Circular for short, è un buffer di dimensioni fisse con un puntatore di lettura e uno di scrittura. Quando i dati vengono letti/scritti, il puntatore corretto viene spostato in avanti indipendentemente dall'altro. Quando viene raggiunta la fine del buffer, il puntatore si sposta all'inizio. Pertanto, i vecchi valori mai letti possono essere sovrascritti.
Deque Deque (double-ended queue) è il backend per le classi Queue e Stack.
Graph
GraphMatrix
Heap Questa classe implementa una struttura dinamica di dati heap. Può essere un MinHeap o un MaxHeap, a seconda della modalità specificata per la costruzione.
List Questa classe implementa una lista circolare doppiamente collegata, cioè hai dati Variant collegati tra loro e puoi attraversarli in entrambe le direzioni (quindi doppiamente collegati). Il successivo progenitore dell'ultimo elemento nell'elenco sarà il primo e viceversa (quindi circolare).
PrioQueue Una PrioQueue, abbreviazione di Priority Queue (Coda prioritaria), è un tipo di coda più generale in cui tutti gli elementi inseriti non sono strettamente allineati in modo lineare. Vengono invece prima raggruppati in base al loro indice di priorità. Maggiore è l'indice del gruppo, più importante e quindi più vicino all'inizio della PrioQueue il gruppo viene accodato. Ad ogni gruppo si applica la solita semantica FIFO di una coda. In modo che, in effetti, tutti gli elementi possano essere ordinati di nuovo in modo lineare.
PrioSet
Queue Una Queue (coda) è un tipo di dati FIFO: tutti gli elementi seguono il modello "first in, first out" (primo a entrare, primo a uscire).
Stack Uno stack è un tipo di dati LIFO. Segue gli schemi di accesso di "last in, first out" (ultimo a entrare, primo ad uscire). (In alcune culture questo è anche noto come FILO "first in, last out")
Trie Questa classe implementa una Patricia Trie. Puoi comprenderne la semantica da Wikipedia.
TriePrefix Questa classe fornisce una vista di sola lettura di una parte di un Trie. Ti consente di esaminare le chiavi con un prefisso comune.