本书章讨论算法设计、分析的基本概念。第2章讨论算法设计中*常用的几个数据结构,包括链表、栈、队列、二叉搜索树、散列表等。第3章讨论了算法设计的两个基本策略:渐增策略与分支策略。~3章的内容,为读者阅读本书以后的内容奠定了基础。第4章讨论几个代数计算的基本问题及其算法,包括矩阵运算、解线性方程组、多项式运算等。第5章讨论几个关于计算几何的基本问题及其算法,包括线段的相交判断、平面点集的凸包计算、*邻近点对问题等。第6章讨论了关于整数运算的基本问题,包括大整数的表示与运算、*大公约数计算、模运算、素数判定及整数因数分解等。第4~6章的内容为读者深入学习解决各种复杂问题奠定了解决数学计算问题的基础。第7~9章分别用回溯策略、动态规划策略及贪婪策略研究、解决计算机应用面临的*普遍、*典型的组合优化问题。0章讨论图的搜索算法及其应用,包括深度优先搜索、拓扑排序、有向图的强连通分支计算、关节点计算、广度优先搜索、网络*大流及二部图的*大匹配等问题。1章讨论了几个文本搜索的有趣算法,包括有名的KMP模式匹配算法、线性时间计算字符串中*长回文子串的Manacher算法、用动态规划策略寻求字符串中指定模式的*佳近似匹配的算法。对所有的的经典算法及数据结构,书中给出C语言的实现函数,形成一个通用的函数库,并详尽地加以解析。伴随各种算法的设计、分析及程序实现,书中给出了丰富多彩的应用问题及其解决方案的讨论,并给出了完整的程序代码。所有程序代码都经过反复调试,2章介绍这些代码的使用方法。本书无论是对初学算法及程序设计入门的大学生读者还是对已经在职场打拼多年的程序员并有提高自身理论修养及技术水平愿望的读者都有开卷有益的意义。
阅读更多