数据结构和算法-----全书总结

Pascal之父——Nicklaus Wirth,当初凭借一句话就获得图灵奖。这句话就是他提出的著名公式:“算法 + 数据结构 = 程序”。由此可见数据结构和算法的重要性。但是现在高级语言满天飞,随便一个学过几天编程的人也能写出一些简单的程序,更甚者是现在已经开始流行“低代码”、“无代码”编程,这在一定程度上降低了数据结构和算法的重要性。但是我们想一想,这样写出来的代码质量和效率怎么样。

很多用户并不在意软件背后的代码,这也在一定程度上支持安迪比尔定律: 硬件性能的提高总会迅速被新的软件消耗掉,对用户来说,除了不知道用不用得上的新功能,最终得到的没什么区别。但是写软件的人可不能这么想。想象一下,如果我们要编写单片机上运行的代码,单片机的CPU的频率只有1M,内存只有256个字节,硬盘只有10K。要在这样的环境下运行的代码,我们必须珍惜每一分CPU效率、每一个byte的内存。只有这样才能写出高质量、高效率的代码。

本书介绍了很多算法,其中很大一部分只有在特定情况下才需要使用,而有的算法基本上不会有人用。例如Dijkstra算法,往往在编写地图类软件时才会用到,而Floyd-Warshall算法由于时间复杂度过高,基本没人使用。是不是说这些算法算法就没有价值了呢?显然不是的,学习这些算法可以加深我们对各种算法的理解,提高我们的编程能力。所谓厚积而薄发,我们只有在平时多花一点功夫,把这些算法都熟练掌握 (至少要知道有什么算法,能解决什么问题),才能在写代码时处乱不惊,从容以对,甚至开发出一些算法的新应用 (例如将dfs算法用于穷举)。

本书涉及到的所有算法都在Dev C++5.11上编译通过。如果有任何关于本书的问题,请联系作者:[email protected]

猜你喜欢

转载自blog.csdn.net/wangeil007/article/details/107516188
今日推荐