1、set简介
set是一种不支持重复元素的集合。本节将介绍两种实现set的方式,一种是基于BST实现,另一种基于链表实现。
关于BST如何实现:构建BST
关于LinkedList如何实现:实现LinkedList
2、set接口
public interface Set<E> {
void add(E e);
boolean contains(E e);
void remove(E e);
int getSize();
boolean isEmpty();
}
3、基于BST实现Set
特性:元素不重复、有序
/**
* 插入、删除、查找时间复杂度均为O(logn)
* @param <E>
*/
public class BSTSet<E extends Comparable<E>> implements Set<E> {
private BST<E> bst;
public BSTSet() {
bst = new BST<E>();
}
@Override
public void add(E e) {
bst.add(e);
}
@Override
pub