plist 居然比 alist 慢

你真的尝试模拟了吗? 就拿你这个例子:

访问 plist[:b]: 第一次 car 发现是 :a, 再 cdr 两次到 :b, car 一下发现是要找的键值对, 再 cdr + car 拿到值. 总共 三次 car + 三次 cdr

访问 alist[:b]: car 两次发现是 :a, 再 cdr + car 拿到下一个键值对, 再 car 发现 key 是 :b, 再 cdr 拿到值. 总共 四次 car + 两次 cdr

理论上的算法复杂度根本没有任何区别


另外见 Plist is Better than Alist?