
本书介绍了常用数据的逻辑结构、存储结构,以及对数据的操作,共7 章,主要内容包括数据结构概述和线性表、栈与队列、树与二叉树、图等数据结构,以及查找和排序。每章先给出内容架构,再对实现进行比较解析,最后给出具体实验,逻辑清晰,贯通一体。实验使用Java 语言完成,在实验目的、内容与步骤的基础上,给出参考答案。在对各类操作的实现进行介绍时,注重实际应用,便于教学组织和实践操作。
前言 “数据结构”在信息学科中是一门重要的专业基础课程,是程序设计课程的重要理论基础。读者通过对数据结构解析与基础实验的学习,不仅能够全面掌握数据结构的基本内容,厘清其中的逻辑思路,而且通过相应实验的操作、训练,可以掌握算法的时间分析和空间分析技术,掌握如何运用各种数据结构解决应用问题。 全书共7章,第1章阐述数据结构的内容架构、算法的时空复杂度、数据结构概述实验;第2~5章主要讨论数据的逻辑结构与存储结构,包括线性表、栈与队列、树与二叉树、图等数据结构应用及其实验;第6章和第7章主要讨论对数据的复杂操作,即程序设计中大量存在的查找和排序。书中每个章节都附有实验目的和上机实验内容,便于教学组织,而且有助于学生应用能力的培养和提高。 书中采用的是Java语言,相关内容均可在计算机上运行与调试。 本书参考教学时间为18~24学时。 本书由彭珍、洪子涛、苏艳编著,其中,彭珍负责第1~7章中内容架构与实现比较的编写,以及全书的内容设计与校验、统稿工作;洪子涛负责第5章和第7章的实验内容及第1~7章的实验运行过程与答案的编写,苏艳负责 第1~4章、第6章实验内容的编写。 由于编著者水平有限,书中难免存在错误之处,恳请读者批评指正。 彭 珍 2022年3月
第1章 数据结构概述 1 1.1 数据结构的内容架构 3 1.2 算法的时空复杂度 4 1.3 数据结构概述实验 5 1.3.1 实验目的 5 1.3.2 实验步骤与结果 5 1.3.3 实验答案 27 1.3.4 实验说明 28 第2章 线性表 29 2.1 线性表的内容架构 30 2.2 线性表实现比较 31 2.3 线性表顺序存储结构实验 34 2.3.1 实验目的 34 2.3.2 实验内容与步骤 34 2.3.3 实验答案 36 2.4 线性表链式存储结构实验 41 2.4.1 实验目的 41 2.4.2 实验内容与步骤 41 2.4.3 实验答案 43 第3章 栈与队列 51 3.1 栈与队列的内容架构 52 3.2 栈与队列的实现比较 53 3.3 栈的实验 56 3.3.1 实验目的 56 3.3.2 实验内容与步骤 56 3.3.3 实验答案 58 3.4 队列的实验 60 3.4.1 实验目的 60 3.4.2 实验内容与步骤 60 3.4.3 实验答案 61 第4章 树与二叉树 63 4.1 树与二叉树的内容架构 64 4.2 二叉树的二叉链表实现 65 4.3 二叉树链式存储结构实验 68 4.3.1 实验目的 68 4.3.2 实验内容与步骤 68 4.3.3 实验答案 69 第5章 图 75 5.1 图的内容架构 76 5.2 图的实现比较 77 5.3 图的实验 84 5.3.1 实验目的 84 5.3.2 实验内容与步骤 84 5.3.3 实验答案 87 第6章 查找 97 6.1 查找的内容架构 98 6.2 查找的实现比较 98 6.3 查找实验 101 6.3.1 实验目的 101 6.3.2 实验内容与步骤 101 6.3.3 实验答案 102 第7章 排序 111 7.1 排序的内容架构 112 7.2 排序的实现比较 113 7.3 排序实验 118 7.3.1 实验目的 118 7.3.2 实验内容与步骤 118 7.3.3 实验答案 119 参考文献 123