如何在不使用python中的类的情况下实现数据结构?

如何在不使用python中的类的情况下实现数据结构?,python,class,data-structures,graph,binary-tree,Python,Class,Data Structures,Graph,Binary Tree,我现在正在学习和练习Python。我有点被其中的类概念吓坏了,我一直想知道如何实现数据结构,比如链表、图和树 我从许多人那里听说,这些是采访和编码竞赛中最重要的数据结构 因此,我的问题是,有没有一种方法可以实现上述所有数据结构,而不使用类,而只使用预定义的数据结构,如列表、字典等?如果我们学究的话,python中的所有内容都是一个类,因此您无法避免它们。如果您关心创建自己的类所涉及的一切,比如应该在何处定义哪些方法,这是我们可以关注的。事实上,对于任何给定类的边界没有普遍共识,像C和Go这样的流

我现在正在学习和练习Python。我有点被其中的类概念吓坏了,我一直想知道如何实现数据结构,比如链表、图和树


我从许多人那里听说,这些是采访和编码竞赛中最重要的数据结构


因此,我的问题是,有没有一种方法可以实现上述所有数据结构,而不使用类,而只使用预定义的数据结构,如列表、字典等?

如果我们学究的话,python中的所有内容都是一个类,因此您无法避免它们。如果您关心创建自己的类所涉及的一切,比如应该在何处定义哪些方法,这是我们可以关注的。事实上,对于任何给定类的边界没有普遍共识,像C和Go这样的流行程序甚至都没有

另一种方法是只使用
dict
保存键/值对。大体上,一个类只是一个带有相关方法的字典。字典键可以容纳各种各样的对象(只要它们是可散列的),而类属性必须是字符串,并且被进一步限制以符合程序中的字典结构。例如,一个链表可以是
{“下一个对象”:obj,“上一个对象”:obj,“item”:obj}
或者甚至是一个列表
[obj,obj,obj]
,您的代码会记住这些索引是什么

但是类非常方便,特别是在实现其他数据结构时。操作链表节点的方法应该在节点本身上,这是有道理的。如果类是可以使用的合理数据结构,那么避免类并没有什么好处


有很多模块可以实现链表、树和图。除非这是学习数据结构的练习,否则花点时间在你最喜欢的搜索引擎上是最好的选择。

因为一切都是对象,对象都是类的实例,你最好克服对类的恐惧……有,但请。只需要上课,你当然可以。如果需要,可以在汇编程序中实现数据结构。但是您确实需要学习Python中的类。没有什么可怕的,特别是如果您只是尝试实现一些数据结构。这使它变得更容易而不是更难“我从许多人那里听说,这些是采访和编码竞赛中提出的最重要的数据结构。”——他们还从python类和oop中提出了许多问题。所以,学习它。:)