书上介绍了 set 这种数据结构,并讨论了若干问题。
见 ./normal-set.rkt
这题规定了 set 里可以任意重复,在这个情况下实现的 element-of-set 性能会好些,但在求交集和并集的时候需要先去重再做处理。
一般情况下,在集合中重复多、且主要场景是调用 element-of-set 和 adjoin-set 的时候比较适合任意重复的情况,如果要计算交集并集这些则不适合。
实现见 ./repeated-set.rkt
引入了元素大小顺序来做优化,具体见 ./orderer-set.rkt