数据结构:Python语言描述电子书下载

简介: 基于Python语言的数据结构基础编程语法详解,国外高等院校信息科学与技术教材。

内容提要

Python是目前流行的程序设计语言,国内高校已陆续使用。本书根据普通高等院校计算机专业本科生的教学需求,并按照数据结构课程教学大纲的规定,同时在参考兄弟院校使用的经典教材和教案的基础上,基于Python作为描述语言编写而成。

本书介绍了线性表、栈、队列、串、树和图等基本数据结构,以及这些数据结构的相关应用,还介绍了查找和排序的常用算法。本书在介绍内容时,理论和实践并重,而且配有一定数量的上机实验和习题,帮助读者加深对相关知识点的理解。

本书内容重点突出,语言精练易懂,可作为普通高等院校计算机及相关专业数据结构课程的教材,也可供计算机及相关专业的教学人员、科研人员、数据结构或算法的爱好者使用。高职高专类学校选用本书时可以根据学校和学生的实际情况略去某些章节。

前言

数据结构在计算机及相关专业中的地位是不言而喻的,学好这门课对学生日后在IT行业工作大有裨益。Python具有足够的抽象性,非常适合描述数据结构,因此,基于Python来讨论数据结构中的基本问题是一件值得尝试的事情,国外不少大学已经将其作为代替C语言的教学语言,国内部分学校也在尝试调整教学计划,以适应这一趋势。

在教学中,我注意到以下情况:学生使用基于伪语言描述的数据结构教材时,常常难于将其用自己熟悉的语言实现,从而使学习激情湮灭;而在使用基于C语言描述的数据结构教材时,又因为对C语言中指针和结构体掌握不好,无法理解教材提供的源程序,也无法调试和运行这些程序,更谈不上自己用C语言将其实现;在使用基于C++和Java语言描述的数据结构教材时,学生感觉难度更大。

本书共9章:第1章介绍数据结构的概念和相关术语,并对算法的性能评价进行简要说明;第2章介绍线性表及应用;第3章重点介绍栈和队列,并介绍如何利用栈来将递归算法转换为非递归形式;第4章重点介绍串,并简要介绍了数组和广义表的存储;第5章首先介绍树,然后重点介绍二叉树的定义及相关操作,最后再引出森林的概念;第6章介绍图及其典型应用,如最短路径和关键路径;第7章介绍查找,包括基于静态查找表的查找和基于动态查找表的查找;第8章和第9章分别介绍了内排序和外排序,对一些常用的排序算法进行了详细的描述,并进行了效率分析。本书的特点如下。

(1)每章除了相应的知识内容之外,还包括基础实验、综合实验和习题。现在市面上有些教材偏重于理论的讲解,对于实验教学这一方面,通常由教师自行解决。本书为每一章提供了一定数量的基础实验和综合实验,用于解决在实验教学时教师和学生“无米下锅”的尴尬,同样,适量的习题也有助于学生检测自己是否真正掌握了某一知识点。

(2)本书给出了基于Python实现的算法代码,还有与之对应并配套的、可独立运行的Python程序,这是本书的一大特色。以在单链表中插入一个数据元素为例,在书中有使用Python实现的在单链表的首端插入一个数据元素和在尾端插入一个数据元素的源代码,而配套的源程序中有单链表结点的类定义,单链表的类定义,创建一个单链表源代码,插入结点前和插入结点后遍历该单链表的源程序。

通过这样的设计,教师在课堂教学时可专注于讲解算法的重点和难点,学生即使完全不会编写Python程序,也可以通过阅读这些源代码在课后自行学习,这对培养学生的自学能力十分有益。尤其是当学生的水平参差不齐时,由于课堂教学时间有限,教师可以更好地安排学生课余学习。

计算机及相关专业属于工科,其中绝大部分课程都需要学生动手编写大量程序并上机调试成功后,才能理解其对应的理论知识,数据结构也不例外。Py-thon以简洁、优美和容易使用著称,网上也有大量可用的资源,可以帮助学生更好地理解本书。

版权:人民邮电出版社