算法可以代替我们做许多重复的事情,它由执行任务的指令组成,这些任务通常是枯燥且重复的。从简单的构造块开始,计算机算法使机器能够识别和产生语音、翻译文本、分类和总结文档、描述图像和预测天气。你只要在现代脚本程序中使用几行代码,就可以瞬间完成原本需要耗时数小时才能完成的任务。本书通过真实世界中需要解决的实际问题来介绍算法,这些算法用伪代码表示,可以很容易地用计算机语言实现。
本书介绍的算法简单易懂,避免读者有挫败感。读者仅需具备基本的数学知识并大致了解计算机的工作原理,书中会解释所有其他必要的概念。本书在介绍了伪代码规范、基本术语和数据结构的背景知识之后,讨论了压缩、加密、图、搜索和排序、哈希、分类、字符串和随机等算法。每章都描述了实际问题,然后给出了解决这些问题的算法。示例说明了算法的广泛应用,包括解决段落换行的*短路径、投票系统中的*强路径、歌曲识别的哈希、投票权力的蒙特卡罗方法和机器学习的熵。