At the moment this file is not distributed.
This is a draft.

GUIDE TO THE DATA STRUCTURES OF NUSMV
===============================================================================
LIST (SEQUENCE)
===============================================================================
7 types.

What list should I use?
 - For a linked list, use Olist
 - For a doubly-linked list, use Tlist

-------------------------------------------------------------------------------
DLLIST
-------------------------------------------------------------------------------
A doubly-linked list

Main functionalities:
- Bidirection iteration


-------------------------------------------------------------------------------
SLIST
-------------------------------------------------------------------------------
A stack.

Main functionalities:
- Iteration
- Reverting


-------------------------------------------------------------------------------
STACK
-------------------------------------------------------------------------------
A stack.

MD2Ama: Is it faster than Slist, isn't it?


-------------------------------------------------------------------------------
OLIST
-------------------------------------------------------------------------------
A linked list.
Less efficient than Slist.

Main functionalities:
- Iteration

Element size:
2 pointers.


-------------------------------------------------------------------------------
NODELIST
-------------------------------------------------------------------------------
A complex list.
It is a doubly-linked list with an hash that counts the number of duplicates.

Main functionalities:
- Iteration
- Test of membership in O(1)
- Duplication count


-------------------------------------------------------------------------------
ARRAY
-------------------------------------------------------------------------------
A dynamic array.


-------------------------------------------------------------------------------
LIST
-------------------------------------------------------------------------------
Deprecated.

-------------------------------------------------------------------------------


===============================================================================
SET
===============================================================================
-------------------------------------------------------------------------------
SET
-------------------------------------------------------------------------------
A set.

Main functionalities:
- Freezing (see set package; declares a set unmodifiable, protecting it and
making the copy and other operations more efficient);

Located in src/set

-------------------------------------------------------------------------------

===============================================================================
HASH TABLE
===============================================================================
-------------------------------------------------------------------------------
ASSOC
-------------------------------------------------------------------------------
A simple hash table.

Standard for small hashes.


-------------------------------------------------------------------------------
OAHASH
-------------------------------------------------------------------------------
A open-addressed hash table.

For general use but large numbers, open-addressing hashes proved to be much
more efficient in time and space.

OAHash is one of the most efficient implementation available today.



-------------------------------------------------------------------------------
LRUHASH
-------------------------------------------------------------------------------
Least recent used hash.

For memoization, Least-recently-used hash (LRUHash) should be used to limit the
hash in size to those entries which are more frequently accessed.)
