老师你好,我有两个问题
来源:15-5 如何刷Leetcode
迷茫小生
2020-04-21
一是既然,编程语言已经对于数据结构类型进行了封装,基本就是拿来即用,我们为什么要从底层去了解这些数据结构的实现呢,知道这些数据结构的特点,对于不同的问题对症下药不就可以了吗
二是,在代码实现的过程中,老师经常会对数据结构的不同类型进行时间上的比较,可是在我的电脑上,不同的数据类型之间的时间大小与老师演示的不同(不是数值不同,而是大小比较的不同)
写回答
1回答
-
第一个问题,可以参考这里:http://coding.imooc.com/learn/questiondetail/95266.html
第二个问题,如果你也同样使用 Java 语言,数据的大小关系应该是一直的。比如 LoopQueue 应该是快于 ArrayQueue 的;基于 BST 的集合类,应该是快于基于数组的 BST 的。如果觉得效果不明显,最简单的方式就是加大数据测试量。
如果你是用的不是编译型语言(Java, C++),而是脚本型语言(Python,JS),出现这样的问题则更复杂。在这个课程的第一章,我以 Python 为例向大家说明了这个,即脚本型语言的性能强烈依赖于解析器的实现,而非我们的逻辑,所以,我个人不建议使用脚本型语言学习算法和数据结构。只学习逻辑还 Ok,但如果要看性能测试,就不准确的。
继续加油!:)
00
相似问题
波波老师你好,有个问题想请你帮忙解决下
回答 2
老师你好,有个问题:
回答 1