第一章绪论
内容概述
数据结构研究非数值数据之间的逻辑关系,合理组织它们,存储到计算机内, 并依此
实现操作数据的算法。本章首先从数据结构的实例入手,分析了数据结构 研究内容;然
后介绍数据、数据元素、数据对象、数据结构、数据类型等数据结 构所涉及的基本概
念,并以抽象数据类型为工具结合实例描述了数据结构的表示 与实现;最后介绍算法和
算法的评价。
本章难点和重点数据结而的理解、抽象数据类型的表示与实现、算法的评价。
思考.你对数据结构的概念是如何理解?
1 .数据逻辑结构包括哪些类型?
2 .为什么采用抽象数据类型描述数据结构?
3 .算法分析的目的是什么?
案例分析<!"[if!supportLists]->l. v!--[endif]-->物流活动中货车的抽象数据类
型表示 与实现。
第一节数据结构实例为了更好地理解数据结构,本节从飞机订票系统、物料清单、邮递员
送信等三个 实际应用入手分析了数据结构研究的内容。
v!supportLists]-->L v线性结构中数据元素之间的关系例1-1飞机订票系统。应用本系
统进行飞机订票的过程中,客户首先通过查询航 班信息表,并根据自己的情况按
照起始城市和起降时间查找具体航班,然后,根 据票价和座位情况,确定航班号
,进而进行订票操作。订票操作中,客户输入姓 名、证件号等信息后,选择航班
、订票数,即可完成订票。在此类系统中,计算 机处理的对象之间通常存在着一
种最简单的线性关系,如图1-1所示,即各个数 据元素按照一定的顺序线性排列,
我们把这类结构称为线性数据结构。
该类线性数据结构还可应用于其他各种订票系统、学籍管理、选课系统、网上 购物、仓
库账目管理等。
2 .树”结构中数据元素之间的关系例1-2物料清单(BOM)。物料清单BOM
(BillofMaterial)是一种描述配套件结 构的零件表,其中包括所有子件、零件、原材料
的清单,以及制造一个配件所需 要的所有物料的数量。BOM是制造业信息系统的一个核
心部件。如果我们将产 品的配件按照线性数据结构罗列表示,如图L2 (a)所示,将不利
于产品的设 计和改进;当把产品的配件按照一定的层次进行表示时,如图1.2 (b)所
示, 形成的结构图像一棵倒长的树,''树根〃是该产品,而所有的''叶子〃就是产品对
应 的零配件。这时的产品配件结构鲜明,易于分析和应用。我们把此类存储产品配 件资
料的数据结构称为''树〃结构。
该产品结构图不仅可以应用于产品的设计和改进,还可应用到生产管理中。当 接收到客
户订单时,查询每个结点即配件是否有货,即进行''遍历〃操作。如果无 货,对于本厂生
产的配件,制订出生产作业计划;对于外购的配件,向供货商发 出订单。如果把图L2 (b)
的''树〃结构转换成图1.2 (c)的结构,即每个结点只 成。
(2)确定性:算法中的每一步都必须有确切的含义,没有二义性,对于相同的 输入只能得
出相同的输出。
(3)可行性:算法中的每一步都能够通过有限次的基本运算在有限时间内实现。
(4)输入:一个算法可以有零个或多个取自于某个特定对象集合的输入量。
(5)输出:一个算法执行结束后至少有一个输出量。