dynamic set是我们在内存中维护的一个感兴趣对象的集合,集合可以增大 缩小 或者元素被改变。
详细考察动态表的基本操作:
- Search(S, k)
- Insert(S, x)
- Delete(S, x)
- Minimum(S)
- Maximum(S)
- Successor(S, x)
- Predecessor(S, x)
k为对象的key,x为包含(key, value)的对象指针或者引用。注意只有在Search中传入的是k,这使得Delete容易在O(1)完成而不用事先查找。
红色search /insert /delete 为dynamic set三种最基本的操作,支持这三种操作的集合可以称之为字典,下文中所有的数据结构均支持这三种操作。
除了上述三种基本操作,若集合中的对象是一个全序关系,则可以定义蓝色的四种额外操作。
For any detailed discussion about this topic, please reference CLRS Part III: Data Structers