关于C语言数据结构,该如何学习和入门?

Python09

关于C语言数据结构,该如何学习和入门?,第1张

说些我的见解:

1)首先明确数据结构研究的对象:研究的是如何存储、操作数据,楼主应该关心每种数据结构的数学模型,可以用在什么场合,各种性能怎么样:例如增加数据,查找数据,删除数据都要花多少时间与内存。

学完之后要知道每个实际情况该用什么数据结构。如果能自己设计出来更适合实际需求的数据结构,那就强了。

2)C语言只是表现形式,不是核心:像著名的《算法导论》描述数据结构用的都是伪代码。真正学好C语言,只要理解数据结构的数学模型,就可以轻松写出代码。所以像这本书C语言代码实现的部分,应该能翻译成数学模型来看。熟练掌握一门语言是和计算机沟通的基础。

3)本书使用了面向对象,即C++的一些思想,目的是以后可以直接用数据结构,而不必重写代码。Destory只是一些快捷方式,在具体环境中实现,这些结构是没必要记的,应该根据需求楼主可以自己写出来。其实很多语言都提供了这些数据结构的实现,C++里的叫STL。

总之:核心是数学模型,顺便熟悉一下C语言,写些比较大的程序时,可以把数据结构包装成书上那样一个大的结构,方便使用。最后,多写程序是很有好处的,可以锻炼上面所有的技能。

1、如果你没有学过C语言,或者C语言学的不好的时候把数据结构当成一本数学书来学,它所讲述的都是一些简单的图论。在你的大脑中的主线不能丢失:线性结构,树结构和图结构。当你不再考虑复杂的程序设计时,仅仅研究个个离散点之间的关系,似乎数据结构也就不会那么难了。

2、学习好了抽象的离散点关系后,再巩固一下你的C语言水平,书中描述的都是类C。因此你只要学习简单的C定义、判断、循环语句就基本能看的懂课本中所有程序了。

3、以上都完成后,从数据结构的线性表开始。线性表中顺序表似乎是为你学习C语言设计的,学好线性表的链表是你起步的关键。后面的树结构,图结构,排序,查找都少不了链式结构,往往这个也是最难的。

4、看程序的时候一定要自己在纸上画画,最好先学会画程序的流程图,也许那样你学程序也就会更快一些。

5、数据结构是程序设计的最基本也是最有用的地方,学完之后你会受益匪浅的,也许这本书可以决定你以后的道路或者命运。

6、c语言是最基础的课程,考计算机的研肯定的学c语言了,怎么不提前准备呀,严蔚敏的书太理论了,我建议你看一本《数据结构案例教程(c语言版)》的书,这本书主要是讲的案例,就是算法的实现,你在结合严蔚敏的书看理论,我觉得这样会容易点吧,数据结构是建立在某一种语言的基础上实现的,如果你会 C++ JAVA等语言的话,你当务之急就不要看c语言版的数据结构,C++版的或是JAVA版的数据结构都行,你先拿先来然后再学c语言。

首先选择一本好的参考书"高级数据结构-C语言程序设计"机械工业出版社的.

因为数据结构的模型较多,比如堆,栈,数组,链表,树(2叉搜索树,B+树,,,)

还有很多排序算法,图,树算法,

你可以带着这么几个问题去学习:

1. 为什么会出现这个数据结构,它需要解决的问题是什么.

2. 这个数据模型(算法)与其他的数据结构(算法)相比,优势在哪儿(效率?空间?还是能解决实际问题?)

3. 如何去使用?(可以去找典型应用)

关键还是要动手,光看不练肯定学不到很多东西.

最后我还是推荐用C语言去实践,因为它是面向过程语言,封装性不好,你才可以自己去实践.

如果一来就用C#等面向对象语言,,你可能什么都学不到,,比如C#的排序就是list.sort(),就把排序做完了。。。。

: )