《算法图解》读书笔记

学期初,算法分析与设计老师推荐阅读一些有关算法的课外书籍,辅助于本学期的算法课程。在众多算法经典书籍中我选择了《算法图解》这本书。这是一本像小说一样有趣的算法入门书,示例丰富,图文并茂,以让人容易理解的方式阐释了算法,旨在帮助程序员在日常项目中更好地发挥算法的能量。书中的前三章讲述了基础的内容,学习了二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅主要介绍了应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如,何时采用贪婪算法或动态规划;散列表的应用;图算法;K最近邻算法。一般读专业性的书籍,诸如数据结构,算法,大量的数学知识推理及理论讲述,不得不让人昏昏欲睡,但这本书运用视觉化信息表达,的确是一种很好的信息编译方式,将复杂,抽象的理论,阐释的通俗易懂,让人有兴趣接着读下去,但这也仅仅限于科普性质的入门,作为本学期辅助理解的课外书籍,以后更深入的学习,还是要看更深入的书。
书中记忆最深刻的是计算加权图的最短路径。书从基本概念开始讲起,带权重的图成为加权图,不带权重的图称为非加权图。迪克斯特拉算法用于每条边都有关联数字的图,这些数字称为权重。要计算非加权图中的最短路径,用广度优先,要计算加权图中的最短路径,用迪克斯特拉算法,其有关键4个步骤:找出最便宜的节点,即可在最短时间内前往的节点;对于该节点的邻居,检查是否有前往它们的更短路径,如果有,就更新其开销;重复这个过程,直到对图中的每个节点都这样做了;计算最终路径。迪克斯特拉算法只适用与有向无环图。书中的案例,我觉的最关键的是在重复操作每个节点的时候,是寻找最便宜的节点,对于起点的节点默认开销为无穷大float(inf)。迪克斯特拉算法不能用于包含负权边的图,在包含负权边的图中,应使用贝尔曼-富德算法。
读有关课程的书籍可以更好的理解课堂中的内容,从不同方面不断充实知识体系,用不同方法获得知识,是一个很好的习惯,希望以后能保持下去

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值