想开始学数据结构,高手给点经验。

本人想自学编程,并想以它为日后职业,C语言已经差不多自学完,算已经入了编程门了吧,我知道数据结构的重要性,所以打算现在开始学。有以下问题,希望高手为我解答,答得好加分。
1.有些人说要学数据结构要先学离散数学是真的吗,我高中以后就没接触过数学能学好吗,也有些人说想在编程这行要学精,就一定要学好大学数学,我也有打算自学,那我要学哪几门数学啊?线性代数,离散数学,概率论这3门够了吗。还是要全面学?最重要的问题是:数据结构和离散数学同步一起学可以吗,还是先学离散数学再学数据结构?
2。有些书名叫《数据结构》,如严蔚敏,吴伟民的《数据结构(C语言版)》,它包括了算法在内吗?还是算法要另外买书学?也有些书叫《数据结构与算法》,他们两本书有什么不同,是不是一个不包括算法,一个包括?,我买哪个比较好?最好推荐几本经典的教材。
3.还是回到数学问题。我只有高中的数学水平,而且水平一般般,我该从哪学起,该学哪几门数学。如果我现在想开始学离散数学,要哪些基础?最好推荐几本经典的教材。
我把我所有的分都交出来了。。。恳请高手们指条明路给我。。万分感谢!!

首先要说的楼上几位的意见对于升华自己的能力都很有参考价值,不过相对楼主目前的要求我觉得还是有点点远了。姑且不说这些科目的难度,只是看楼主几句话就知道很久没接触数学等科目了,这样的话难度系数更是相对教大。而需要注意的是楼主只想学数据结构,用来编程而已。

本人也是用C语言做开发的,主要做低层驱动开发和嵌入式设备开发,就这几年的经验来看,要做C编程开发,的确需要了解一些数据结构的知识。只不过个人觉得其实暂时需要做的就是几点而已:

1. 首先你要确定你的C语言是真的学好了??
因为看懂C语言教材,仅仅只是个入门而已,在真正的C开发中这些书本上的东西就用的很少很少了。而且从我这边带者培训的新人来看,很多计算机专业的C语言很熟的人,其实在刚开始的C开发中也很差劲,即使他的书本知识很丰富,这个我也得承认。
所以我给你的一个建议就是书看懂就够了,剩下的就是多编程多练习,遇到知识盲点,再回去看书,不行再google下。

2. 数据结构的学习。我认为在目前开发中用的最多的就是链表和树而已。所以与其花大工夫在钻研数学,不然先将精力花在上面的2个重点上。注意这个地方我说的是先这样而已,不是说数据等不重要了。因为时间毕竟宝贵,等学习一遍数学等科目后,再来搞C开发,估计也是花了很久时间了。更重要的是对于C编程新手来说,又有多少人能马上用的上高等数学,离散数学等等呢,真正用的上的估计已经是搞C开发
多少多少年后吧。那这个时候话在数学上的时间就暂时不值得了。所以这点我要说的意思就是,好钢要用在刀刃上。毕竟你先掌握使用的东西,就比别人更有竞争力。

3. 第三点就是,从目前来看,做C编程开发的人员,大多数是做底层驱动开发和嵌入式系统开发上面了,当然可能还有一些我不熟悉的除外。所以第3个建议就是多去接触操作系统,包括他的构架,基本系统API函数接口等等。

以上只是个人觉得实干的发展路线,只是先强化拳脚功夫,然后就可以去闯荡江湖了,至于什么时候修炼神功,那就要看你自己了,呵呵。
如果你能注意到上面的几点,别的先不说,就说你应聘的时候,觉得是个有分量的人,至少这是这几年我个人的一点小小经验。然后等你发展到一定时候的时候,就可以按照楼上很多朋友的意见去再学习再升华了。

最后以上只是本人的一点点意见而已,仅供参考:
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-07-30
离散数学很简单的,不需要什么大学数学基础,高中基础足够了。严蔚敏,吴伟民的《数据结构(C语言版)》其实是本挺好的书,里面讲了120多个经典的算法。除了离散数学,我个人觉得其他的诸如高等数学对编成没什么很大的作用,除非你要从事一些科学计算方面的工作!
第2个回答  2008-07-30
1.你买一本计算机四级的标准教程,将离散数学部分啃下来就ok了,不需要多高深的基础的。另外四级教程内容很泛的,看了都有好处的。
大学数学是要学的,但主要还是理解概念比较重要,不一定非要成为数学高手的,如果你的定位是程序员,而不是设计师的吧,应该不是太急的,如果你想非常高深的话,那要学的数学内容可广泛了,至少微积分的思想是要的,运筹博弈方面也是很重要的,概率和数理统计、线性代数等当然就更重要了,还有数据库方面的知识也很重要的(现在的应用大多还是要基于数据库的)。
2.数据结构和算法是两回事,算法是研究使用计算机语言如何一步一步的将题目解出来的学问,常见的算法,你还是买个算法集吧,多看看自然就会了。数据结构最好还是学C++版本的,其实如果你真的愿意啃的话,下载一本STD类库源代码的书,啃下来,你就已经是高手了。别的清华的用C++写的数据结构的书也是很好的,你关键是学那些数据结构是怎么回事,怎么用和有什么功能就好了,所以不必拘泥的。
3.建议你要学数学的话,买自考本科的数学教材,一般比较浅显易懂的。
第3个回答  2008-07-30
先学九英白骨抓、然后学自公、最后学习九英震惊,前面学过的九英白骨抓是做铺垫!
第4个回答  2008-07-30
建议你先学c++
然后看c++语言描述的数据结构。
《数据结构》与《数据结构与算法》内容差不多。

数学的话不光是一种知识,还是一种思维。

另外建议你多看看英语,很多帮助文档都是英文的。例如msdn
第5个回答  2008-08-04
en en e
相似回答