关联数组除了put和get两个常见的接口以外,另一些与排序有关的接口。下面就是关联数组的完整接口:
public interface ST{ // 返回最小的键值 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及下面。