第1章 数据结构和算法
教学目标:本书主要学习如何组织数据和设计算法,学习软件开发中所涉及到的各种常 用数据结构。作为全书导引,本章要求掌握数据、数据类型、数据结构、算法及算法分析等 基本概念和基础知识。另外,本章还结合课程学习要求,复习和掌握算法描述工具—C语言
中的指针类型与指针变量、结构类型与结构变量、函数与参数、递归定义和递归函数、动态 存储分配、文件操作、程序测试与测试集、测试数据的设计和程序调试等问题。
教学提示:如何合理地组织数据、**率地处理数据是扩大计算机应用领域、提高 软件效率的关键。因此,必须完整地讲解和理解数据结构(逻辑结构、存储结构和相关 算法)的定义及其实现的方法,算法数据类型的定义本质上是存储结构的实现。算法的时间性能分析是难点,算法的空间性能分析不可忽视。程序调试问题将影响算法的实现,在实践中要注意。
1.1 数据和数据类型
通常,我们将计算机的处理对象称为“数据”。数据的类型可分为数值型和非数值型两大类。本节介绍数据、数据元素、数据项、关键项、关键字、数据类型和抽象数据类型等有关知识。
1.1.1 数据和数据元素
1.数据
定义1.1在计算机科学中,数据是指描述客观事物的数值、字符、相关符号等所有能够输入到计算机中并能被计算机程序处理的符号的总称。
在计算机系统的表示层次,数据以各种数据类型来表示,在计算机系统的物理层次,数据都是以二进制形式表示的。
【例1.1】在计算机系统中,除数值型数据之外,字符、声音、图像、图形等信息是数据吗?
在计算机**语言程序设计课程中,我们描述的客观事物通常以数值数据来表示。
例如,从客观事物抽象而来的数值,通常用整型、实型、布尔型等基本数据类型数值来表示。
……