我是一个python偏爱的学生,并有一个有关链接列表的疑问



我了解其他语言(例如C (,它们具有直接定位变量位置的指针,使用链接列表来获得内存效率。但是,在Python中没有指针。因此,由于无法直接访问每个节点,因此链接列表不值得使用吗?我看到了很多与链接列表相关的编码挑战或编码访谈。为什么人们仍然使用python中的链接列表,而我们有一个很棒的内置阵列?

这里有几件事要注意。

首先,LinkedList中的pointerCC++中的pointer不同。尽管他们通过"指向"其他东西而行动相同,但它们不是同一回事。

接下来,LinkedList指针指向LinkedList中的下一个项目,而C pointer指向内存中的位置。那是一个关键区别。

要注意的另一件事是,python在大多数情况下是用C编写的,因此对C很重要的事情对Python也很重要。

linkedlist的一些好处是它节省了很多内存,因为它仅说明填充值与数组,该数组为整个数组的整个大小分配内存。另一个最大的好处是,LinkedList可以在内存中的任何地方都存在(多亏了指针!(,而阵列必须留在静态位置。这是速度,内存优化和安全角度的好处。

还应注意,python确实没有array内置,可以这么说,它们内置了list,因此可以吸引自己。

它是为了加深您对Python内置实现下的数据结构的理解。即使它们在Python中抽象出来,您也应该知道它们的工作原理。理查德·费曼(Richard Feynman(说:"知道如何解决已解决的所有问题。"在编程时,您会遇到许多已经做得比以往任何时候做得更好的事情,并且您应该使用人们打开并创建供您使用的那些工具,但您还应该知道它们的工作原理。<<<<<<<</p>

相关内容

最新更新