如何了解一种语言的数据类型的效率和占用内存的情况?例如 python

最近在学习算法的一些知识,突然意识到数据结构的重要性。
我的疑问是以下几点:
1.例如python中 有自带的数据类型列表和字典,但是字典的访问速度比列表快吧?但是自己占内存大?对不对呢?
2.python自带数据类型列表,pandas有数据框,大家都说数据框很占内存,我也发现了,但是占内存在理论上怎么解释数据框为什么就占更多内存呢?
3.数据结构和各个语言中的数据类型的关系是什么?例如 树 是数据结构吧?存的时候在python里面我就是用字典存,这么理解对吗?

阅读 2.8k
1 个回答

访问速度和内存占用大小都是由数据结构本身决定的 。用hash实现的,访问和查找速度肯定快,但是这种结构就牺牲了内存开销。同样地,一个类的属性和方法越多,那么实例占用的内存肯定越大。可以用sys.getsizeof查看大小。数据结构和语言本身并无直接联系,只是实现方式略有不同罢了,关于树形结构,比如也可以用列表或者xml格式存储,没有什么硬性规定,看具体需求

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题