Closed DeathKing closed 2 years ago
若LIsp中的一切数据对象对cons操作封闭,那么一切数据结构都可以看做二叉树,我想知道只使用这种构造方式,能否实现O(1)内可随机访问的数据结构(如C中的数组以下标访问)。才疏学浅,如有错漏或误解之处,还请各位赐教。
若LIsp中的一切数据对象对cons操作封闭,那么一切数据结构都可以看做二叉树,我想知道只使用这种构造方式,能否实现O(1)内可随机访问的数据结构(如C中的数组以下标访问)。才疏学浅,如有错漏或误解之处,还请各位赐教。
不行。因此常见的 Scheme 实现中,会有 Vector 类型的数据结构。
不行。目前内存的硬件结构决定了数组能实现O(1)访问,链表或树结构不能实现O(1)访问。从表达层面来看,忽略访问效率,底层采用数组或树都能实现上层的各种结构。
同学们请在这里写下关于《Lec2b:复合数据》课程的相关疑惑。