紅黑樹與hash table最大的不同是,紅黑樹是有序結構,而hash table不是。但不是說set就不能用hash,如果只是判斷set中的元素是不是存在,那
么hash明顯更適合,由于set 的訪問操作時間復雜度是log(N)的,而使用hash底層實現的hash_set是近似O(1)的。
但是,set應當更加被強調理解
為“集合”,而集合所觸及的操作并、交、差等,即STL提供的如交集set_intersection()、并集set_union()、差集set_difference()和對稱差集
set_symmetric_difference(),都需要進行大量的比較工作,那末使用底層是有序結構的紅黑樹就10分恰當了,這也是其相對hash結構的優勢所
在。