符号表小结
1. 符号表算法比较
算法 | 插入 | 查找 | 是否有序 |
---|---|---|---|
链表实现的无序符号表 | N | N | yes |
二分查找实现的有序符号表 | N | logN | yes |
二叉查找树 | logN | logN | yes |
2-3 查找树 | logN | logN | yes |
拉链法实现的散列表 | N/M | N/M | no |
线性探测法实现的散列表 | 1 | 1 | no |
应当优先考虑散列表,当需要有序性操作时使用红黑树。
2. Java 的符号表实现
-
java.util.TreeMap:红黑树
-
java.util.HashMap:拉链法的散列表