数据结构与算法(C++版)实验和课程设计教程(高等学校计算机课程规划教材)
分類: 图书,计算机/网络,数据库,数据库理论,
作者: 唐宁九 等主编
出 版 社: 清华大学出版社
出版时间: 2008-11-1字数: 455000版次: 1页数: 285印刷时间: 2008/11/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787302175032包装: 平装内容简介
本书是《数据结构与算法((C++)版)》(ISBN 978-7-302-17502-5)的配套教材。全书共分为两部分:第一部分介绍数据结构与算法基础知识和实验;第二部分讨论数据结构与算法课程设计。第1章~第11章为第一部分,包含了22个实验题日,每个实验都有日的与要求、工具/准备工作、实验分析、实验步骤、测试与结论,以及思考与感悟。实验给出具体操作步骤与指导,让初学者不会面对实验题目而束手无策。希望读者通过实验能够学有所思,有所启迪与感悟;第12章为第二部分,共有11个课程设计项目,每个项目都给出了分析与实现方法,还给出了一些改进建议,读者可以在完成基本任务的前提下,对程序加以改进和提高。
通过本书的学习,不但能迅速掌握数据结构与算法的知识,同时还能提高C++程序设计的能力,经过适当的选择,本书可作为高等院校计算机及相关专业“数据结构”、“数据结构与算法”、“数据结构与算法分析”和“数据结构与算法设计”等课程实验,与课程设计的教材,也可供从事软件开发工作的渎者学习参考。
本书结合C++面向对象程序设计的特点,讨论了数据结构与算法基础知识,构建了实验与课程设计,对所有算法都在Visual C++ 6.0、Visual C++ 2005、Visual C++ 2005 Express、Dev-C++和MinGW Devel-oper Studio开发环境中进行了严格的测试,作者教学网站(http://www.cs.scu.edu.cn/~youhongyue)提供了大量的教学支持内容。
目录
第一部分 数据结构与算法基础知识和实验.
第1章 绪论
1.1 基础知识
1.2 上机实验
第2章 线性表
2.1 基础知识
2.2 上机实验
第3章 栈和队列
3.1 基础知识
3.2 上机实验
第4章 串
4.1 基础知识
4.2 上机实验
第5章 数组和广义表
5.1 基础知识
5.2 上机实验
第6章 树和二叉树
6.1 基础知识
6.2 上机实验
第7章 图
7.1 基础知识
7.2 上机实验
第8章 查找
8.1 基础知识
8.2 上机实验
第9章 排序
9.1 基础知识
9.2 上机实验
第10章 文件
10.1 基础知识
10.2 上机实验
第11章 算法设计与分析
11.1 基础知识
11.2 上机实验
第二部分 数据结构与算法课程设计
第12章 课程设计
12.1 算术表达式求值
12.2 停车场管理
12.3 电话客户服务模拟
12.4 简单本文编辑器
12.5 压缩软件
12.6 排课软件
12.7 公园导游系统
12.8 理论计算机科学家族谱的文档/视图模式
12.9 专家系统应用——动物游戏
12.10 简单个人图书管理系统
12.11 词典变位词检索系统
附录A 配套软件包
附录8 实验报告格式
附录C 课程设计报告格式
参考文献
书摘插图
第1章 绪 论
1.1 基础知识
1.1.1 数据结构的基本概念
(1)数据:数据是客观事物的符号表示,是计算机中可以操作的对象,也就是一切能输入到计算机中并能被处理的符号的总称。
(2)数据元素与数据项:数据元素一般在计算机中能作为整体进行处理,是数据的基本单位,数据元素也称为记录,有的数据元素由若干数据项所组成,比如在员工基本信息表中,‘每个员工记录是一个数据元素,而员工的编号、姓名、性别、籍贯、家庭住址和生日等内容为数据项,数据项是不可分割的最小单位。
(3)数据结构:在现实世界中,不同数据元素之间不是独立的,而是存在着特定的关系,我们将这些关系称为结构,数据结构指相互之间存在着一定关系的数据元素的集合。
为了方便起见,用示意图表示数据结构,这种图称为逻辑结构图,具体表示方法为,用小圆圈表示数据元素,用小圆圈之间的带有箭头的线段表示数据元素的有序对,具体地讲对于有序对可表示为图1.1。
“称为v的前驱,v称为“的后继,数据元素之间的关系定义为有序对的集合。
根据数据元素之间关系的特性,有如下4类基本结构。
①集合结构:在数据结构中,如果不考虑数据元素之问的关系,这种结构称为集合结构。在集合结构中,各个数据元素是“平等’’的,它们的共同属性是“同属于一个集合”,如图1.2所示。