哈希表和红黑树对比
一、场景对比
1. 速度对比
哈希查找和删除的时间复杂度都是 O(1)
,而且查找速度基本上和数据量大小无关。红黑树查找和删除的时间复杂度为 O(logN)
2. 内存消耗
对内存要求严格的地方,建议使用红黑树,因为红黑树仅为其存在的节点分配内存;而哈希表需要事先分配足够的内存存储散列表,较为浪费内存。
因此,如果对数据可以预知,也就是静态数据,比如 Top10
名单, 就可以使用哈希的方式。如果是动态数据,比如 统计 IP 地址,无法判断数量,用红黑树较好一点
3. 有序性
红黑树是有序的,哈希是无序的。