购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

前言

数据结构是高等院校计算机科学与技术、软件工程、大数据、人工智能等专业的一门重要的专业基础课程,是算法设计与分析、人工智能、机器学习、编译原理等众多后续课程的重要基础,它对软件开发具有举足轻重的作用。目前,在使用计算机的各种软件时,都需要处理各种数据,而这些软件的设计都需要研究数据之间关系的表示与处理,这正是数据结构的研究内容。数据结构是计算机、软件工程大多数专业课程的核心基础,直接决定着其他专业课程的学习效果。通过学习数据结构,可为算法设计和软件开发等方面课程的学习打下坚实的知识基础。

本书比较系统地介绍数据结构中的线性结构、树结构、图结构及查找、排序技术,阐述各种数据结构的逻辑关系,讨论它们在计算机中的存储表示及其运算。本书理论与实践并重,结合教学工作实际,除了对数据结构中的抽象概念和数据类型的基本运算进行详细讲解外,还通过丰富的图表和实例、完整的代码讲解算法的应用,帮助读者理解每种数据类型常见的基本操作及其具体应用案例的算法思想,使其学会运用数据结构知识解决日常生活中的实际问题。本书主张通过算法实现来强化对算法的理解,因此,不仅精选了一些涵盖知识点丰富且具有代表性的案例,还挑选了部分历年考研试题作为课后习题,所有算法均采用Python语言给出完整实现,方便读者学习和理解,从而巩固所学知识点。

由于Python语言强大的第三方工具库、开发快捷、擅长数据分析与处理等优势,被广泛应用于人工智能、机器学习、大数据分析与处理,且已成为最主流的开发语言之一,是数据分析与处理的首选工具。国内各高校均开设了Python语言程序设计课程,因此,本书采用Python语言作为描述语言,也为读者学习人工智能、机器学习、大数据分析与处理打下牢固的基础。

本书内容

本书共分为8章,内容分别为数据结构与算法概述,线性表,栈与队列,串、数组与广义表,树,图,查找和排序。

第1章:如果读者刚接触数据结构,这一章将告诉你数据结构是什么,以及本书的学习目标、学习方法和学习内容。另外,这一章还介绍了本书对算法的描述方法。

第2章:主要介绍线性表。首先讲解线性表的逻辑结构,然后介绍线性表的各种常用存储结构,在每一节均给出了算法的具体应用。通过学习本章内容,读者可以掌握顺序表、动态链表的基本操作及应用。

第3章:主要介绍操作受限的线性表—栈和队列,内容包括栈的定义,栈的基本操作及栈与递归的转化,队列的概念,顺序队列和链式队列的运算。

第4章:主要介绍串、数组与广义表。串是另一种特殊的线性表,数组和队列可看作线性表的推广。首先介绍串的概念、串的各种存储表示及串的模式匹配算法,然后介绍数组的概念、数组(矩阵)的存储结构及运算、特殊矩阵,最后介绍广义表的概念、表示与存储方式。

第5章:主要介绍非线性数据结构—树和二叉树。首先介绍树和二叉树的概念,然后介绍树和二叉树的存储表示、二叉树的性质、二叉树的遍历和线索化、树、森林与二叉树的转换及哈夫曼树。

第6章:主要介绍非线性数据结构—图。首先介绍图的概念和存储结构,然后介绍图的遍历、最小生成树、拓扑排序、关键路径及最短路径。

第7章:主要介绍数据结构的常用技术—查找。首先介绍查找的概念,然后结合具体实例介绍各种查找算法,并给出完整的实现代码。

第8章:主要介绍数据结构的常用技术—排序。首先介绍排序的相关概念,然后介绍各种排序技术,并给出具体的实现算法。

资源下载

本书提供配套的教学资源,包括示例源码、PPT课件、教学视频、教学大纲、作者QQ群答疑服务。读者可用微信扫描右侧二维码下下。如果发现问题或者有任何建议,可通过邮件与作者联系,电子邮箱为booksaga@163.com,邮件主题写“Python数据结构与算法:视频教学版”。

本书作者与鸣谢

参与本书编写的有孙玉胜、陈锐、张志锋、郑倩、崔建涛、刘育熙、桑永宣。

在本书的出版过程中,得到了郑州轻工业大学和清华大学出版社的大力支持,在此表示衷心感本。尤其感本清华大学出版社的编辑们对于本书顺利出版所做的辛勤工作。

在本书编写的过程中,参阅了大量的相关教材、著作,个别案例也参考了网络资源,在此向各位原著者致敬!

由于作者水平有限,书中难免存在一些不足之处,恳请读者批评指正。

编者
2022年9月 WSNieuqgeSycgVWrVzJawvt7S/6UCU9sUSu8I75cOXHcU5d9bKgQRn/y+mIcOQ3F

点击中间区域
呼出菜单
上一章
目录
下一章
×