最近在学习算法的一些知识,突然意识到数据结构的重要性。
我的疑问是以下几点:
1.例如python中 有自带的数据类型列表和字典,但是字典的访问速度比列表快吧?但是自己占内存大?对不对呢?
2.python自带数据类型列表,pandas有数据框,大家都说数据框很占内存,我也发现了,但是占内存在理论上怎么解释数据框为什么就占更多内存呢?
3.数据结构和各个语言中的数据类型的关系是什么?例如 树 是数据结构吧?存的时候在python里面我就是用字典存,这么理解对吗?
最近在学习算法的一些知识,突然意识到数据结构的重要性。
我的疑问是以下几点:
1.例如python中 有自带的数据类型列表和字典,但是字典的访问速度比列表快吧?但是自己占内存大?对不对呢?
2.python自带数据类型列表,pandas有数据框,大家都说数据框很占内存,我也发现了,但是占内存在理论上怎么解释数据框为什么就占更多内存呢?
3.数据结构和各个语言中的数据类型的关系是什么?例如 树 是数据结构吧?存的时候在python里面我就是用字典存,这么理解对吗?
2 回答4.3k 阅读✓ 已解决
2 回答867 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答868 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
4 回答2.6k 阅读
3 回答912 阅读✓ 已解决
访问速度和内存占用大小都是由数据结构本身决定的 。用hash实现的,访问和查找速度肯定快,但是这种结构就牺牲了内存开销。同样地,一个类的属性和方法越多,那么实例占用的内存肯定越大。可以用
sys.getsizeof
查看大小。数据结构和语言本身并无直接联系,只是实现方式略有不同罢了,关于树形结构,比如也可以用列表或者xml格式存储,没有什么硬性规定,看具体需求