高级数据结构:无限列表与二叉树
1. 列表示例
在数据处理中,列表是一种常见的数据结构。以下是一些平方数和立方数列表的示例:
list(squares) [0]
list(cubes) [0]
list(squares) [0,1]
list(cubes) [0,1]
list(squares) [0,1,4]
list(cubes) [0,1,8]
list(squares) [0,1,4,9]
list(cubes) [0,1,8,27]
list(squares) [0,1,4,9,16]
list(cubes) [0,1,8,27,64]
list(squares) [1,8,27,0,1,4,9,16,0]
list(cubes) [64]
2. 无限列表
无限列表是列表的一种有趣变体,适用于无法查看所有元素的情况。例如,元素计算困难或元素数量过多时,无限列表就非常有用。
2.1 无限列表的工作原理
在无限列表中,元素的链接字段总是通过 next() 方法访问。链接值有两种形式:
- 当它是指向后续元素的普通引用时, next() 方法直接返回该引用。
- 当它是代码引用时, next() 方法会调用该代码。代码会创建下一个节点并返回其引用,然后 next() 方法将旧元素的链接字段从代码引用更改为指向新值的普通引用,最后返回新引用供调用程序使用。
超级会员免费看
订阅专栏 解锁全文
1303

被折叠的 条评论
为什么被折叠?



