云南民族大学系列教材——数据结构
分類: 图书,计算机/网络,数据库,数据库理论,
作者: 周卫红,王新主编
出 版 社:
出版时间: 2008-7-1字数: 371000版次: 1页数: 224印刷时间: 2008/07/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787811125948包装: 平装内容简介
数据结构课程是计算机专业的一门专业基础课程,也是计算机课程体系中的核心课程之一。在该课程中所介绍的各类数据的逻辑结构、存储方式及相关的算法既是程序设计,特别是非数值性程序设计的基础,又是设计和实现系统软件及大型应用软件的重要基础。通过本课程的学习,主要是使读者学会分析研究计算机加工数据对象的特性,以便在实际应用中选择适当的数据结构、存储结构和相应的算法。
由于数据结构内容的理论性和抽象性都非常强,学生大都觉得难以学习和掌握,如何解决这个难题,俗话说,“兴趣是最好的老师”。编者通过长期的数据结构教学实践,在认真分析学生学习特点的基础上,认为“数据结构”虽然包含了较多的理论内容,但同时也具有实践应用的特点,因此在内容安排上尝试采用实例一理论一算法一应用的组织形式,即每一章都从发生在学生身边的实际生活中的实例出发,再抽象到理论,进而到抽象数据类型,再返回到实际应用的组织方式,提高学生对数据结构课程的认识和学习兴趣,并按此思想编写了此教材,全书力求内容、难度适中,理论和实践并重,在每一章都设计有配套的习题和实验,本书所有的数据结构和算法都采用类C语言描述。
目录
第一章绪论
1.1什么是数据结构
1.2基本概念和术语
1.3抽象数据类型的表示与实现
1.4算法和算法分析
习题
上机实训
第二章线性表
2.1线性表的基本概念
2.2线性表的顺序存储结构
2.3线性表的链式存储结构
2.4线性表的应用
习题
上机实训
第三章栈和队列
3.1 栈
3.2栈的应用举例
3.3栈与递归
3.4 队列
3.5 队列应用举例
习题
上机实训
第四章串
4.1串类型的定义
4.2串的表示和实现
4.3串的模式匹配
4.4堆结构
习题
上机实训
第五章数组和广义表
5.1数组的定义和运算
5.2数组的顺序存储结构和实现
5.3矩阵的压缩存储
5.4广义表
习题
上机实训
第六章树
6.1树的概念与表示
6.2二叉树的基本概念及操作
6.3树、森林与二叉树的转换
6.4树的应用
习题
上机实训
第七章图
7.1图的基本概念
7.2 图的存储表示
7.3图的遍历和生成树
7.4最小生成树
7.5最短路径
7.6有向无环图及其应用
习题
上机实训
第八章查找
8.1查找的基本概念和术语
8.2静态查找表
8.3动态查找表
8.4哈希表
习题
上机实训
第九章内部排序
9.1概述
9.2插入排序
9.3交换排序
9.4选择排序
9.5归并排序
……
第十章文件
书摘插图
第一章 绪论
【本章导学】
数据结构是计算机专业重要的专业基础课,直接关系到后续课程的学习和软件设计水平的提高。本章首先通过实例来概述数据结构的作用,然后引入课程中的一些基本概念和术语,介绍算法的有关概念及其描述语言,最后讨论算法设计的基本要求以及算法复杂度的分析和计算方法。
【重点难点释疑】
(1)熟悉各名词、术语的含义,掌握基本概念,特别是数据的逻辑结构和存储结构之间的关系。
(2)了解抽象数据类型的定义、表示和实现方法。
(3)掌握算法五个要素的确切含义和对算法正确性的理解。
(4)掌握计算语句频度和估算算法时间复杂度的方法。
【问题的提出】
自1946年第一台计算机问世以来,计算机产业的飞速发展已远远超出人们对它的预料,它的应用范围迅速扩展。如今,计算机已深入到人类社会的各个领域。计算机的应用已不再局限于科学计算,而更多地用于控制、管理及数据处理等非数值计算的处理工作。计算机加工处理的对象由纯粹的数值发展到字符、表格和图像等各种具有一定结构的数据,这就给程序设计带来一些新的问题。为了编写出一个“好”的程序,必须分析待处理的对象的特性以及各处理对象之间存在的关系,这就是“数据结构”这门学科形成和发展的背景。
……