我觉得数据结构好难啊

来源:百度知道 编辑:UC知道 时间:2024/06/05 09:32:30
如题

任何学科或者技术确实需要时间来潜心学习钻研它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。 数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。
常用的数据结构,阐明数据结构内在的逻辑关系,讨论它们在计算机中的存储表示,并结合各种数据结构,讨论对它们实行的各种运算的实现算法。很多算法实际上是对某种数据结构施行的一种变换,研究算法也就是研究在实施变换过程中数据结构的动态性质。

1. 程序 = 数据结构 + 算法

2. 学习:刚开始看时肯定会有些不清楚,因为是刚学完 C 语言,对 C 语言还不太熟练。学习数据结构时找一本经典的数据结构书,看完一个数据结构后用 C 语言将其实现。开始时的实现肯定会有困难,那么请 google 下会有很多优秀的数据结构源码的。可以模仿这些优秀的源码写。请记住一定要开始时自己实现,当被卡住了就看一下源码,看看自己被卡在了什么地方,引起注意以便下次自己会写。当把书上的数据结构源码写了一遍之后,已经超过了绝大部分的同学。

3. 运用: 这时就需要对这些数据结构加以运用,可以在 google 上搜索“某个数据结构 + ACM”,就会看到一些题目,这些题目都是数据结构的运用,甚至有这些数据结构的变形。每种数据结构做5题左右。期间还会遇到程序另一重要的方面算法,有不会的就 google。 期间可以学到的数据结构和算法做小软件玩儿,例如压缩软件,五子棋之类的。

4. 深入: 当完成了第三步你已经是小高手了。这时看方向如果这时发现自己喜欢 ACM 的话就去搞 ACM,如果不感兴趣,就找自己感兴趣的技术学习一下,做几个完整的项目,例如写个编译器,或者实现一个简单的编程语言。

给楼主一个建议:

初学数据结构,重点要放在对每种数据结构类型特点的熟悉,以及一些基本遍历算法的掌握上,而不要把注意力放在冗长的代码上面。数据结构本