`
tenght
  • 浏览: 50897 次
社区版块
存档分类
最新评论

试读《算法之美——隐匿在数据结构背后的原理(C++版)》

 
阅读更多

 

引言

 

    这本书的作者对于我们来说也是很熟悉了,在他的CSDN博客上有一句古语:

“无冥冥之志者,无昭昭之明;无惛惛之事者,无赫赫之功。”

    这句话虽是老生常谈,细细品来很是发人深思。

    也是由此,才有了这本书《算法之美——隐匿在数据结构背后的原理(C++版)》的顺利出版吧,另外作者还写有其他的几本书包括出版的和未出版的。我是看了作者在CSDN上的博客,入手了一本关于图像处理的书籍。  

 

学习算法

  

    算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。每个算法都有其存在的意义,深入研究下去,就会发现算法的乐趣无穷。

         许多算法是有难度的,理论很复杂,不容易理解和掌握,这是客观存在的现实。但是我们可以通过提高自身分析问题和解决问题的能力来相对地降低学习难度。从基础来讲,要深入理解数据结构,至少要非常熟练地掌握一种排序算法,各种线性表的插入、删除算法,树的遍历和插入、删除算法,图的遍历算法等等。

 

    然后要多学习、掌握一些常见问题的解决模式,比如穷举算法如何应用,动态规划算法如何应用等等。最后要勤思考,对应已经掌握并解决的算法,要想想为什么用这种方法解决?有没有其他方法?类似的问题怎么办?提高举一反三的能力。

 

算法的乐趣:

    如果你觉得算法比较有意思,比起做那些无聊的项目有意思多了,那你就已经迈出了一大步。读算法书时,要经常手工模拟算法的执行过程,不要怕麻烦,模拟的过程可以对算法的细节有深入的理解,解决问题后,经常心中会油然产生一种难以描述的快感、成就感。

 

    当然,算法也是非常严谨的,记得读大学时算法课第一节课上,老师就给我们画了一个大图,告诉我们遇到一个问题,应该沿着什么样的思路走。遇到一个实际的问题,首先应该把它形式化(Formulation),即用数学的方式将它描述出来。其次,需要观察问题(Observation),即观察问题的结构和性质。这样解决了问题之后,下次再遇到相类似的问题,就会自然而然的站在一个更高的角度来看了,这会让自己心里更有底,更自信!

 

试读:递归—老和尚讲故事

     这本书的试读章节是:递归—老和尚讲故事,首先介绍了递归的概念,然后用汉诺塔问题,传染病问题和八皇后问题分别阐述并实践了递归的两种主要方法:分治法和回溯法。细读下来,作者叙述引经据典,实例浅显易懂,确实是费了心思的。

 

总结

     计算机技术的发展日新月异,最后沉淀下来的就有算法的一席,理想情况下,一本严肃的算法书应该在稳定、宽松的环境下精雕细琢。可是在社会剧烈发展的今天,在日新月异的中国,在人们习惯快餐而不再享受大餐的 快节奏生活中,在微博、微信取代文章、书信的手机网络大潮下,这样的理想环境根本不存在。这本《算法之美——隐匿在数据结构背后的原理(C++版)》可以研读之,将里边的算法精粹读通、读透,变成自己的东西,那对于我们来说也是在算法之路上一个很大的进步。

分享到:
评论

相关推荐

    《图解数据结构与算法》正文试读页

    《图解数据结构与算法》是一本以图描述原理、形象且易于理解的数据结构与算法入门书籍。全书共分为7章,首先介绍了一些基础的数据结构,包括数组、链表、栈和队列等;然后通过例子来讲解递归和动态规划的算法思想;...

    算法导论(英文第四版)非扫描

    - **2.1 插入排序**:通过一个简单的例子介绍了一种基本的排序算法——插入排序。 - **2.2 分析算法**:探讨了如何评估算法的效率,包括时间复杂度和空间复杂度。 - **2.3 设计算法**:讨论了设计高效算法的基本...

    09金融联考复习全书——辅导讲义(试读版)

    09金融联考复习全书——辅导讲义(试读版)

    通信新读——从原理到应用

    这些版本的改进主要体现在数据传输速率、频段使用、多输入多输出(MIMO)技术以及能效上。 在《通信新读——从原理到应用》中,可能会详细解析802.11标准的工作原理,包括物理层(PHY)和媒体访问控制层(MAC)的...

    竟成408-数据结构-部分试读

    竟成408-数据结构-部分试读,考研计算机408,真题,模拟题,考研408必备用书。

    数据结构题集

    针对数据结构的 基础知识 和注意的问题 以及数据结构的熟练永用的题籍

    寒江独钓——Windows 内核编程与信息安全(免费试读版)

    ### 寒江独钓——Windows内核编程与信息安全(免费试读版) #### 知识点解析 **一、书籍概述** 《寒江独钓——Windows内核编程与信息安全(免费试读版)》是一本深入探讨Windows内核模块开发的技术书籍。作者楚...

    ITeye 2月技术图书有奖试读活动——已结束

    在听取不同意见时,如医生、立法委员、建筑师等专业人士的观点,批判性思维要求我们能够从多个角度考量,并通过提问来深入理解每个角度的合理性。 ### 沟通技巧 #### 1. 提问的艺术 提问不仅是获取信息的手段,也...

    ITeye 8月技术图书有奖试读活动——已结束

    第9章详细介绍了作者曾经的冠军作品——跨终端存储方案(Storage),这是一个利用Web技术实现统一数据存储与访问的方案。 第10章完整阐述了如何通过脚本录制和回放技术实现跨终端动作同步。这项技术允许开发者记录...

    Java语言程序设计(基础篇)(英文版·第10版)试读版

    《Java语言程序设计(基础篇)(英文版·第10版)》是学习Java编程的经典教材,适合初学者入门。本试读版包含了部分内容,旨在帮助读者了解书中的教学方式和知识体系。以下是根据提供的文件名,结合Java语言基础知识...

    算法导论 - 第二版 - 中文版

    数据结构是算法的载体,本章详细讲解了数组、链表、栈、队列、树和图等基本数据结构,以及它们在实现算法中的作用。此外,还讨论了抽象数据类型(ADT)的概念,强调了数据结构设计的重要性。 **第三章:分治法** ...

    R语言数据可视化之美-试读1

    总的来说,《R语言数据可视化之美》是一本全面且实用的教材,它将帮助读者提升在数据分析领域的技能,无论是为了学术研究还是职业发展,都能从中受益。通过学习书中的知识,读者将能够用R语言创作出富有洞察力且极具...

    《Excel数据之美》试读样章+基础图表修炼大纲1

    在内容结构上,本书不仅包含基础图表的制作步骤,还深入探讨了如何使用Excel加载项如Map Power(地图绘制功能)和E2D3,拓宽了Excel在数据可视化的应用领域。此外,书中还提供了详细的操作示例和实践指导,确保读者...

    竟成408辅导书-数据结构-部分试读.exe

    竟成408辅导书-数据结构-部分试读.exe

    大规模C++程序设计 中文 试读版 PDF 非扫描版

    大规模C++程序设计 中文 试读版 PDF 非扫描版 Large Scale C++ Software Design John Lakos

Global site tag (gtag.js) - Google Analytics