关联数组除了put和get两个常见的接口以外,另一些与排序有关的接口。下面就是关联数组的完整接口:
public interface ST<Key, Value> {
// 返回最小的键值
public Key min();
// 返回与key相应的值
public Value get(Key key);
// 返回与key最接近的,可是不大于key的键
public Key floor(Key key);
// 返回第n小的键
public Key select(int n);
// 返回从start到end之间全部的键
public Key[] keys(Key start, Key end);
// 返回与key最接近。可是不小于key的键
public Key ceiling(Key key);
// 返回最大的键
public Key max();
// 返回从start到end之间键的数量
public int size(Key start, Key end);
// 返回指定的键在数组中的名次
public int rank(Key key);
}
眼下为止,我们仅仅介绍了二分查找查找方法。可是这样的插入操作的复杂度仍然是N。在兴许的章节中我们将介绍高效的算法。使得全部的操作复杂度都在lg N及下面。