首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不使用python类的情况下实现数据结构?

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

Stack Overflow用户
提问于 2020-10-10 02:03:47
回答 1查看 129关注 0票数 0

我现在正在学习和练习Python。我有点害怕它中的类的概念,我想知道如何实现数据结构,如链表,图和树。

我从许多人那里听说,这些是面试和编码比赛中询问的最重要的数据结构。

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

EN

回答 1

Stack Overflow用户

发布于 2020-10-10 02:29:55

如果我们是书呆子,python中的所有东西都是一个类,所以你无法避免它们。如果你关心创建你自己的类的所有事情,比如哪些方法应该在哪里定义,这是我们可以关注的事情。事实上,对于任何给定的类的边界都没有普遍的共识,像C和Go这样的流行程序甚至没有它们。

另一种方法是只使用dict来保存键/值对。粗略地说,类只是一个带有相关方法的字典。字典键可以容纳各种各样的对象(只要它们是可哈希的),而类属性必须是字符串,并进一步限制为适合程序的字典顺序。例如,一个链表可以是{ "next object":obj, "previous object":obj, "item":obj },甚至是一个列表[obj, obj, obj],并且您的代码会记住这些索引是什么。

但是类非常方便,尤其是在实现其他数据结构时。操作链表节点的方法将位于节点本身,这是有意义的。当避免类是可以使用的合理数据结构时,避免类并没有太多好处。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64285130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档