美文网首页
心声0203 程序算法的重要性

心声0203 程序算法的重要性

作者: 水晓朴 | 来源:发表于2024-01-06 23:32 被阅读0次

chatgpt,ai绘画,图像识别,人脸识别,核心就是算法,产品就是算法不断迭代,精进的输出。

程序=数据结构+算法。

算法的知识当属科学,结构的想象则是艺术。

这些算法的细节,以及编写高效代码实现这些结构的转换,是编程像手艺活的一面。

从技术上讲,这就是所谓维护结构的不变性。

编写代码以维护不变性是相对简单的技艺,不过这需要非常用心并辅之以大量训练才能练就。

怎样学习算法

学习算法,很重要的一点在于有一本好的算法书籍可以查阅。

就比如说最经典的算法导论,拥有此书,你可以保证自己的算法无懈可击,不会出现严重问题,因为书上的东西经过了成百万上千万的读者查阅,写作者有能力证明自己的算法的正确性。

相对于书籍,网络教程可能比较容易出现问题,因为99%的写作者只是按照理解写算法,并不能证明,只能起到辅助理解的作用。

很多新人一上来就被人推荐算法导论,可是这本书真的很难,我就举个例子,书中对于贪心算法的证明,是用了一种叫做拟阵的数学方法,几乎没有人听说过这个生僻的概念,更不用说去看懂证明了。

因此这本书不建议用来入门,它更适合用来查阅。特别是在掌握基本的算法和数据结构之后想进一步加强对理论的分析,才会选择算法导论。

如何选择算法书籍这个问题,对于刚开始学习的同学可能很难,为了照顾新手,这一次我又整理了一遍算法书籍。

书籍列表如下,标注了难度:

01.数据结构与算法分析-C语言描述(新手入门)

02.算法设计与分析基础 第3版(新手入门)

03.算法引论:一种创造性方法(新手入门)

04.编程原本(高级)

05.C语言接口与实现:创建可重用软件的技术(高级)

06.算法导论中文第三版(高级)

06.算法导论英文第三版(高级)

07.算法中文第4版(新手入门)

07.算法英文第4版(新手入门)

08.算法竞赛入门经典第2版(算竞入门)

09.挑战程序设计竞赛1第2版(算竞入门)

10.挑战程序设计竞赛2(算竞入门进阶)

11.算法竞赛进阶指南(进阶)

12.漫画算法-小灰的算法之旅(新手入门)

这些书籍基本满足了入门到进阶的需求,不管你是还没入门的学生,还是很厉害的算法竞赛小能手,亦或是已经毕业多年的程序员,都能够从这些书籍中学到很多没见过的知识。

大部分可以再网上找到pdf版本,部分,找不到好的pdf,如果你经济允许建议你直接购买实体书,实体书排版非常精美,即使只是收藏也感觉很值。

相关文章

  • 01-什么是算法及算法的5个特征

    算法是程序的灵魂,现在火热的人工智能,算法也是核心,所以你知道算法的重要性了吧 程序=数据结构+算法+某种编程语言...

  • 十大基础算法通俗讲解(1):快速排序

    程序 = 算法 + 数据结构。这么来说,学好算法和数据结构的重要性不言而喻。数据结构对于算法的关系,有点类似于辅助...

  • iOS程序员对算法的要求

    算法和数据结构(鉴于二者的关联,以下统称算法),对于程序员的重要性一直是个具有争议性的话题。有一些程序员内心对算法...

  • 第二章、最基本的数据结构——队列、栈、链表

    还记得大学算法课,老师提过,程序=算法+数据结构,不一定非常正确,但表明了一个事实:算法和数据结构的重要性。 在做...

  • 算法学习开篇

    算法是程序的灵魂,语言只是一种工具,数据结构是载体,因此算法的重要性就不言而喻了,如果你的工作不是算法类相关的话,...

  • 程序中算法的重要性

    记得以前在大学老师曾经讲过:程序=算法+数据结构,后来在工作中也没有体会到算法的重要性,所有的代码开发都是按...

  • 算法-两数之和

    算法对于程序的重要性不言而喻,所以从今天开始要一点一滴地积累自己的算法知识,同时也要充分地利用使用的程序语言所提供...

  • 算法设计与分析——1.算法引论

    1.1 算法与程序 算法性质:(1)输入(2)输出(3)确定性(4)有限性算法与程序的区别:程序是算法用某种程序设...

  • 程序员算法基础——贪心算法

    程序员算法基础——贪心算法 程序员算法基础——贪心算法

  • 【通俗易懂C++ STL模板库】容器、算法、迭代器

    容器 在实际的开发过程中, 数据结构本身的重要性不会逊于操作于数据结构的算法的重要性, 当程序中存在着对时间要求很...

网友评论

      本文标题:心声0203 程序算法的重要性

      本文链接:https://www.haomeiwen.com/subject/jjovndtx.html