Java中的数据结构&;Python及其实现:列表、数组、元组
我了解Java,最近也开始学习Python。有一次,我明白我需要暂停一下,澄清所有与数据结构相关的问题,特别是列表、数组和元组。如果我在以下任何方面有错误,请您纠正我:Java中的数据结构&;Python及其实现:列表、数组、元组,java,python,arrays,list,tuples,Java,Python,Arrays,List,Tuples,我了解Java,最近也开始学习Python。有一次,我明白我需要暂停一下,澄清所有与数据结构相关的问题,特别是列表、数组和元组。如果我在以下任何方面有错误,请您纠正我: 最初,根据数据结构标准,列表不是 支持任何类型的指数化。只有这样才能进入 元素是通过迭代实现的(下一个方法) 在Java中,实际上有一种通过索引访问元素的方法(即get(index)方法),但即使使用这些与索引相关的方法,它仍然从第一个元素(或者更具体地说是它的引用)开始迭代 Python中有一种方法可以在Java中使用lis
- 最初,根据数据结构标准,列表不是 支持任何类型的指数化。只有这样才能进入 元素是通过迭代实现的(下一个方法)
- 在Java中,实际上有一种通过索引访问元素的方法(即get(index)方法),但即使使用这些与索引相关的方法,它仍然从第一个元素(或者更具体地说是它的引用)开始迭代
- Python中有一种方法可以在Java中使用list[index]语法处理数组时访问list元素,但实际上,即使这种数据类型被称为“list”,我们在后台也有一个引用数组,例如,当我们引用第三个元素时,我们直接引用数组中的3个元素,从第一个元素无需迭代即可获得引用(我很确定我在这里是错的)
- 元组的实现方式与Python中的列表相同。唯一的区别是它们是不可变的。但它仍然比数组更接近列表,因为元素在内存中的位置不连续
- Python中没有数组
- 在数据结构理论中,当我们创建一个数组时,它只使用对第一个内存单元的引用,然后迭代到我们指定为索引的#of元素。列表和数组之间的主要区别在于,所有元素都连续地位于内存中,这就是我们在性能方面获胜的原因
- 元素是一个有序的元素序列,允许重复。有许多方法可以实现这种数据类型,特别是作为一种数据类型,但大多数编程语言都使用这种方法
- 即使是链表也可以支持索引。实现无法直接跳到第n个元素,但它可以通过链接到达该元素
- Java的类型不指定实现,只指定接口。类型是使用动态数组实现的列表;这个名字就是这么说的
- Python的列表是用动态调整大小的数组实现的。Python的元组是用固定大小的数组实现的
- 实际上有两种Python类型通常被称为数组,不包括新手通常使用的“数组”来引用Python列表。有模块提供的阵列,还有的
sndarray
- 对数组进行索引时,实现不会从第一个元素的位置迭代到第n个元素。它向数组的地址添加一个偏移量,以直接跳到元素,而不进行迭代