这是一个相当好的总结。如果我要做一个表格,我可能会专注于一些期望的类别期望,这些更通用——恒定、次线性或线性。
还有一点要知道的是,有一些重要的接口(由谓词函数暴露)也暗示了性能类别。例如,Counted(使用`counted?`检查)表示它是否可以在常数时间内计数,并将分割出你在那一行看到的行为。类似地,Indexed(索引)和`indexed?`以及nth(索引n)也是这样。
重要的是要记住,如果一个数据结构不能在期望的约束内实现一个操作,我们则不实现它。nth和count有些特别,因为它们在上面的类中是通用多态的。