采用程序设计语言Python语言编程的数据结构与算法

2015-10-31 11:03
国外科技新书评介 2015年6期
关键词:复杂度数据结构排序

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。本书采用程序设计语言Python作为具体的实现语言,介绍了可以有效处理大量数据的编程方法与技巧,不仅给出许多重要算法的实例,还介绍了计算复杂性的相关内容,以便计算机程序员对所用算法的效率进行判断。

全书共20章。1.Python编程101:对使用Python语言编程进行总体介绍,包括创建对象、对象调用方法、运算符重载、读取文件方法、XML文件等内容;2.计算复杂度:包括计算机体系结构介绍、常见的计算复杂性、摊销复杂度的方法等;3.递归:包括时栈和堆的概念、简单递归函数的编写、运行,递归计算机图形学、列表与字符串等;4.排序:包括选择排序、归并排序、快速排序、链表、栈和队列等内容;5.集合与映射:数独游戏介绍、集、散列等相关概念,最后分析规划问题;6.树:抽象语法树和表达、前缀和后缀表达式、解析前缀表达式、二叉搜索树等内容;7.图:包括图的定义及理论、存储结构及算法实现、Kruskal算法、Dijkstra算法、图的表示方法等;8.Bloom过滤器、Trie数据类型等相关内容;9.堆:包括堆的主要思想及其建立、排序算法、与其他算法的比较等;10.平衡二叉搜索树:二叉搜索树的概念、存储结构与性质、AVL树与 Splay树等具体实例;11.B树:包括关系型数据库的概念、B树的组织结构、优势、实现、B树的插入与删除等内容;12.启发式搜索:包括深度优先搜索与广度优先搜索、A*搜索、最佳搜索等相关内容;13.附录A:整数操作符;14.附录B:浮算子;15.附录C:字符串运算符和方法;16.附录D:列表操作符和方法;17.附录E:字典操作和方法;18.附录F:Turtle方法;19附录G:TurtleScreen方法;20.附录H:完整的程序。

作者Kent D.Lee博士是美国艾奥瓦洲路德学院计算机科学教授,已成功出版两本著作:Python编程基础和编程语言基础。另一作者Steve Hubbard博士是路德学院数学与计算机科学系教授。

本书介绍了初级与高级的数据结构和算法问题,每一章开始提供了学习目标,复习题和编程练习,以及众多的例证;同时在相关的网站提供可下载的程序和补充文件。本书可以作为计算机学科相关专业的教材或参考书,同时对计算机科技工作者也有参考价值。

李亚宁,硕士研究生

(中国科学院自动化研究所)

猜你喜欢
复杂度数据结构排序
柬语母语者汉语书面语句法复杂度研究
数据结构线上线下混合教学模式探讨
重典型应用,明结构关系
恐怖排序
Kerr-AdS黑洞的复杂度
非线性电动力学黑洞的复杂度
节日排序
OECD国家出口复杂度的测度与比较
OECD国家出口复杂度的测度与比较
数据结构与算法课程设计教学模式的探讨