前言

Python语言是广泛使用的计算机程序设计语言,是高等院校相关专业重要的专业基础课程。由于Python语言具有功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好等诸多特点,20世纪90年代以来,Python语言迅速在全世界普及推广。目前,Python仍然是全世界最优秀的程序设计语言之一。

本书是作者为适应当前教育教学改革的创新要求,更好地践行语言类课程,满足实践教学与创新能力培养的需要,组织编写的教材。本书融合了同类教材的优点,采取创新方式,精选了300个趣味性、实用性强的应用实例,从不同难度、不同算法、不同类型和不同数据结构等方面,将实际算法进行总结,希望为Python编程人员抛砖引玉。

本书的主要内容和素材来自网络上流行的各大互联网公司的面试算法、LintCode、LeetCode、九章算法和作者所在学校近几年承担的科研项目成果。作者所指导的研究生,在研究过程中对学习和应用的算法进行了总结,通过人工智能科研项目的实施,完成了整个科研项目,不仅学到了知识,提高了能力,而且为本书提供了第一手素材和相关资料。

本书内容由总到分,先思考后实践,算法描述与代码实现相结合,可以作为从事网络开发、机器学习和算法实现的专业技术人员主要的技术参考书,也可以作为大学信息与通信工程及相关领域的Python算法实现的本科生教材,还可作为程序员算法提高的使用手册,同时可以为人工智能算法分析、算法设计、算法实现提供帮助。

本书的编写得到了教育部电子信息类专业教学指导委员会、信息工程专业国家第一类和第二类特色专业建设项目、教育部CDIO工程教育模式研究与实践项目、教育部本科教学工程项目、信息工程专业北京市特色专业建设、北京市教育教学改革项目、北京邮电大学创新创业教育精品课程项目的大力支持,在此表示感谢!

由于作者经验与水平有限,书中疏漏及不妥之处在所难免,衷心地希望各位读者多提宝贵意见及具体的修改建议,以便作者进一步修改和完善。

李永华

2020年2月于北京邮电大学