java - c++学习数据结构应不应该用stl实现?
问题描述
数据结构初学者,之前有看过大话数据结构的线性表,栈,队列的内容,c实现的。学校这学期开数据结构c++,我直接看国外的教材,里面都是stl实现的,比如线性表数组描述删除一个元素是移动元素直接用copy,怎么移动的过程也没有,因为之前了解点数据结构还能理解,但越往后面担心只会记语法而不理解了,这本书关于数据结构的应用写的很详细。应该边看这本书,边看学校的教材(和大话一样挺通俗的)。还是直接看这本书作为正式入门数据结构的教材?
挺厚一本,应用偏多
一大堆,抛出异常和stl的语法
问题解答
回答1:要习惯使用STL,因为你现在学的是数据结构,不是学习STL源码,你的目标应该是搞懂数据结构,所以不要拘泥于这些细节,否则会花费掉你大量的时间.
你可以把数据结构看完之后,再找一本STL源码分析的书来看.
回答2:没关系,这只是依据语言特性简化了操作。如果实在担心,可以再看看用C语言实现的。
回答3:您好, 我也是初学者. 虽然我自己学数据结构是先用c++(without stl)来学数据结构, 再用纯c学习数据结构的, 不过我觉得其实没有绝对的优劣之分, 隐藏细节可以更专注于算法的表示, 显示细节可以更深刻的理解其具体实现, 孰优孰劣, 真的很难界定, 就像抛一枚硬币, 其实哪面朝上都无所谓, 有的大神是自顶向下学习, 有的大神是自底向上学习, 我觉得由此得出的结论是都可以通往终点, 与其纠结这些, 不如选定一种立即着手开始学起来. 犹豫才是最浪费时间的. 我个人觉得直接去计蒜客学知识点然后刷对应的数据结构题比较合适入门, 题主的那本书我也有...
回答4:个人认为:有足够时间学习的话,自然是先能够自己实现再使用STL比较好咯.....
回答5:使用stl实现肯定是要学的,毕竟使用stl可以加快开发效率。对于初学者建议不纯使用stl,stl不是万能的,最终还是要理解数据结构内部原理,这样使用stl实现起来才能更加得心应手。另外对于学校课程还是不用的好,不然提交作业只是包含了相关头文件,几乎没有自己的实现。也可以用简单的stl堆砌复杂的数据结构。
相关文章:
1. 引用 node.js express加载 静态文件 报错 ??2. javascript - 引入 simditor,但是显示标签,这个怎么解决。3. 鼠标过导航标签时,无效果,请问如何查找问题4. android - 使用listview加载不同item,数据填充错误。5. angular.js - ionic该如何强制刷新页面6. node.js - 为什么引入mongoose报错?7. javascript - 数组的过滤和渲染8. mysql中的最大连接数就是请求数吗?那IOPS又表示什么意思呢?9. 怎么可以实现在手机浏览器看到链接的title属性,就是鼠标放上去会有一个tip效果的10. 搭建一个用户间相互博弈的网站