The Elastic Windows software uses three primary data structures. One of them is an ordered k-ary tree data structure (WindowNode) to store the current visible window hierarchy. The second one is a hash table (WindowCollection) with pointers to the tree data structure for rapid access to window information. The last one is also a hash table (ObjectStore) which stores pointers to the currently used objects in the system.
All of the algorithms for the window operations and layout dynamics use the first two data structures. Content handler component uses the object store data structure to access to object contents. The details of the window hierarchy data structure is discussed in the next subsection. Algorithms for the window collection ( WindowCollection) and object store (ObjectStore) data structures are not discussed in this dissertation since they are standard hash table implementations with appropriate hash codes.