为什么要学习数据结构?
-------------------------------------------------------
这个问题问的好。
数据结构并不是来教你怎样编程的,同样编程语言的精练也不在数据结构的管辖范围之内,那是教你学习一门语言的老师的事情,他肯定不想因为数据结构而失业。数据结构是教你如何在现有程序的基础上把它变得更优(运算更快,占用资源更少),它改变的是程序的存储运算结构而不是程序语言本身。
如果把程序看成一辆汽车,那么程序语言就构成了这辆车的车身和轮胎。而算法则是这辆车的核心——发动机。这辆车跑得是快是慢,关键就在于发动机的好坏(当然轮胎太烂了也不行),而数据结构就是用来改造发动机的。
可以这么说,数据结构并不是一门语言,它是一种思想,一种方法,一种思维方式。它并不受语言的限制,你完全可以在gave 中轻而易举地实现一个用C语言给出的算法。
//--------------------------------------------------
以下是引用热情依然的发言:
数据结构就是编程的思维,编程的灵魂,算法的精髓所在,没有了数据结构,程序就好像一个空核,是低效率的。学习数据结构的目的就是提高自己的思想,数据结构的高低是确定于你写的程序的运行效率,想不想到奇异的方法解决问题,程序的壮健性,并不是你记得多少算法。就好像我现在排序算法已经忘记了很多,平衡二叉树的建立跟删除,图论完全忘记。难道这样我就是初学者??肯定不是,自要有思想在,有些算法用到的时候看看书就可以了。记住,想成为高手,数据结构一定要强。
//--------------------------------------------------
以下是引用starrysky的发言:
数据结构就是教你怎样用最精简的语言,利用最少的资源(包括时间和空间)编写出最优秀最合理的程序。
换句话说数据结构存在的意义就是使程序最优化。所以学习数据结构需要有一定的基础知识。用伪码表示,是因为写原代码太长,而且有时不利于理解(光是设顶的一大堆变量就让人眼花缭乱的)。数据结构不是教你怎样才能编程,而是教你怎样才能编好程,所以很多地方只需要让读者知道该怎么编就行,用汉字表达都行,原代码就让读者自己去解决,这不仅方便读者理解,而且留给了读者一个思考的空间,对于作者来说也可以节省大量写原代码的时间。
------------------------------------------------------
//------------------------------------------------
以下是引用可可的眼的发言:
总觉的学习数据结构有中空空的感觉,能告诉我怎么才能学好数据结构吗??
//------------------------------------------------
以下是引用热情依然的发言:
或者你现在还不明白,但是只要你认真学下去,当你以后用MFC,C++来写项目的时候,你就会因为当初学好数据结构,想到好的方法解决问题而庆幸。想当初我是多么的热爱数据结构,可惜现在没有时间再去研究,做完毕业设计我到要重新复习一次。每次复习都会提升很多的。你初初学的时候建议你先不要理会什么空间复杂度,时间复杂度什么的,弄明白条程序怎样运行就好,建议你去买朱站立出的数据结构,有整条程序可以给你看的,又容易学。那些程序完全可以运行的,你可以先看书敲程序,明白了之后再自己写出来,那就可以锻炼你的基础。关于时间复杂度,空间复杂度那些如果你不是打算做游戏,研究高性能算法,我觉得没有必要要那么深入研究。只要可以完全明白书上的算法,你的编程思维已经提高很多,甚至高级程序员都可以过,顺便提醒一下,看完数据结构之后顺便学下离散数学。这样思维才会更加强劲
顺便提醒一下,初学数据结构我觉得用C++或者C语言会容易一点
数据结构有哪些好的参考书?
------------------------------------------------------
<<数据结构vc++程序集>>
<<数据结构导引>>
<<数据结构与算法>>高等教育出版社,作者是张铭
《数据结构实用教程(C/C++描述)》——徐孝凯
<<程序设计实践>>
《算法导论》
联系客服