这是一份相当不错的摘要。如果我要做一个表格,我可能会关注几个期望桶,这些桶更为通用——常量、亚线性或线性。
还需要知道的是,有一些重要的接口(由谓词函数暴露)暗示了性能类别。例如,Counted(通过`counted?`检查)表明它是否可以在常数时间内计数,并且这把你在那一行看到的行为分成两个部分。同样,Indexed和`indexed?`以及nth。
然后,一个重要的启示是,如果一个数据结构无法在期望约束内实现操作,则我们不实现它。nth和count有点特殊,因为它们在上面的这些类别中是泛型的。