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:拉鏈法的散列表