作者:xiabodan 出处:http://blog.csdn.net/xiabodan
算法和数据结构是计算机科学的核心内容。作为程序猿,编程是我们的实战项目。然而,写出程序还不够。一个程序在应对一些大型而复杂的情况时。会耗费大量的时间。我们能够非常easy写出一个从文件里找到一个词的程序。比方逐词扫描。看是否相符。但假设我们的文件有几十TB,并且要从文件里找到上百个词,逐个扫描的办法就差点儿不可行。我们须要优化程序,以便我们的程序能够应对复杂问题。
算法研究解决这个问题的方法,而数据结构则是设计一种更好的组织数据和使用数据的方式。两者有非常强的相互依赖关系,所以往往放在一起讨论。(摘自vamei博客: http://www.cnblogs.com/vamei)
作为一枚都快要毕业的研究僧。非科班出身,主要做图像处理,机器人视觉方面的工作。本科做嵌入式硬软件。以为自己的编程还算过得去,研究生期间看过非常多国外大牛写的project。自己也都是在用别人的工程,感慨别人的专业技能太强了,详细表如今既能推公式,写paper,Oral presentation如此的精彩,就连算法的代码也写得如此之好,不说精湛嘛至少也是高效、整洁、稳定,看过别人的Curriculum Vitae(CV),skills从C/C++,matlab,python一直到PHP。SQL;OpenCV,GL,MP能用的都会了,我认为这都得益于他们扎实的语言基础,当然数据结构与算法也是当中比較重要的部分。
看过非常多东西比不代表就会了,细节部分太重要了,以至于当我想亲自构建一个project的时候感觉思路有,却非常多细节地方不明不白,上次去面试要现场写算法程序才发现,理解了和懂了是两码事,基础太菜伤不起。
本系列文章将从最简单一步一步在懂了的前提下亲自己主动手写。
平台採用raspberry 2 B,注意执行结果可能会与VS2012有出入。期间会穿插一些Linux的基础比方命令,Makefile编写。多线程编程等。
最后会完毕一个小的数据结构project,代码见github:https://github.com/xiabodan/DataStructure 保持持续更新。Linux用户直接download代码:
git clone https://github.com/xiabodan/DataStructure.git
參考:
数据结构与算法分析-C语言描写叙述[M],机械工业出版社