本书第1版受到了读者的好评,这对作者是莫大的鼓励。时隔数年,作者在教学实践中进一步积累了经验、方法、手段和心得体会。值此第2版出版之际,作者将这些新的成果与读者分享。
作者在第1版的基础上做了如下修改。
(1) 增加了包括大多数算法的演示课件。该演示课件是与算法逐语句对应的,并在教育部举办的“第十届全国多媒体课件大赛”中获得高教工科组三等奖。
(2) 在第3章增加了“离散事件模拟”一节。因为算法较复杂在第1版没有收入,第2版增加了该算法的演示课件,降低了理解算法的难度。
(3) 增加了“动态存储管理”一章(放在最后)。同样增加了该章算法的演示课件,降低了理解的难度。
(4) 去掉了第5章中广义表的内容。
(5) 去掉了第6章中线索二叉树的内容。
(6) 增加了平衡二叉树删除结点的操作函数,这是我曾经的学生曾金龙在课程设计中做的,后来又几经修改。对于这组函数我特别满意,特地收在书中与读者分享。
(7) 去掉了树形选择排序的算法。
(8) 对基数排序的讲述做了较大修改,着重强调基数排序适用于不等长字符串排序,更换了输入数据文件,增加了一些图,使得基数排序算法一目了然。
(9) 对第1版内容做了仔细的修订,有些算法的讲述也做了修改,在此无法一一细数。
本书所有程序都在Microsoft Visual C++ 6.0和Visual Studio C++ 2012下运行通过,稍做修改也可以在UNIX下运行通过。这些程序和算法演示课件都可通过清华大学出版社网站(www.tup.tsinghua.edu.cn或www.tup.com.cn)下载。
算法演示课件的工作量巨大,非我一人能够完成。我的同事李鹏给了我很大的帮助,我的许多学生也参与了课件的编写工作,他们的名字都出现在所做课件中。借此机会,向他们表示衷心的感谢!
尽管作者尽了最大努力,但限于水平,书中疏漏之处在所难免,希望读者不吝赐教,以便借助清华大学出版社网站及时改正。读者可通过505810175@qq.com与作者取得联系。
作者2014年12月于长安大学