数据结构第1章习题解答

第1章习题解答

1.1 什么是数据结构?一个数据结构结构的二元组定义形式是什么样的?举例解释其 含义。

[解答]

概括地说,数据结构是互相有关联的数据元素的集合。也就是说,数据结构是由某个数据元素的集合和该集合中的数据元素之间的关系组成的,因此数据结构可以用一个二元组来表示。例如,B=(D,R),其中D是某一数据元素的集合,R是D上的关系的有限集。R所表示的是集合D的数据元素之间的逻辑关系,它表示的可能是数据元素之间客观存在的某种联系,也可能是为了处理问题的需要而人为组织的数据元素之间的某种关系,因此,称之为数据的逻辑结构。例如,一个农历节气表,就构成了一个数据结构,其数据元素是一年的农历二十四节气,数据元素之间的关系是节气的时间先后关系。又如,一个某年级学生的成绩排序表,也是一个数据结构,其数据元素是包含成绩项的该年级的学生记录,数据元素之间的关系是学生之间的成绩高低关系。为了在计算机中进行数据处理,必须把从实际问题中抽象出来的数据的逻辑结构映象到计算机的存储器中,即要把抽象出来的数据元素集合D和数据元素之间的关系存储到计算机的存储器中,称之为数据的物理结构或存储结构,它是数据的逻辑结构在计算机中的表示。

1.2 假设R是集合M上的一个关系,R的定义是什么?对实际问题而言,其含义是 什么?

[解答]

如果R是对集合M自身的笛卡尔积所取的一个子集,那么我们就说“R是集合M上的一个关系”。对实际问题而言,它表示的是集合M中元素的某种相关性。例如,对于参加一个羽毛球比赛的运动员集合,可以用一个二元关系表示出各场比赛的胜负关系。对于一组课程的集合,可以用一个二元关系表示出各门课程之间的先修和后续关系等等。

1.3 设有集合M={d1,d2,d3,d4,d5}上的一个关

R={(d1,d2),(d2,d4),(d4,d5),(d2,d5),(d1,d4),(d1,d5),(d3,d5),(d1,d3)},试说明关系

R具有什么样的性质。

[解答]

从二元关系的基本性质容易验证,该关系R是反自反的、反对称的、传递的关系。 因为关系R中没有(di,di)这样的元素,所以它是反自反的。

因为关系R中没有(元素di,dj)和(dj,di)同时存在的情况,所以它是反对称的。 关系R 的传递性表现在:

有元素(d1,d2),(d2,d4),同时有元素(d1,d4), 有元素(d1,d2),(d2,d5),同时有元素(d1,d5), 有元素(d1,d3),(d3,d5),同时有元素(d1,d5), 有元素(d1,d4),(d4,d5),同时有元素(d1,d5), 有元素(d2,d4),(d4,d5),同时有元素(d2,d5)。

1.4 什么是线性结构?什么是非线性结构?举例说明。 [解答]

1

线性结构与非线性结构是针对数据的逻辑结构而言的。它们的主要区别是:线性结构表示的是数据元素之间一对一的关系,而非线性结构表示的是数据元素之间一对多或多对多的关系。线性结构具有以下特点:

① 存在唯一的没有前驱、只有一个直接后继的“头”元素; ② 存在唯一的没有后继、只有一个直接前驱的“尾”元素;

③ 除了“头”元素和“尾”元素之外,集合中的每个元素有且只有一个直接前驱、 有且只有一个直接后继。

由以上特点可以看出,线性结构中的数据元素之间存在一对一的关系,结构中的数据 元素依照它们的逻辑关系可以排成一个有“头”、有“尾”的序列。例如,前面所说的农历节气表,就是一个线性结构,它是一个从“春分”开始,然后是“雨水”,…,最后是“大寒”。这样一个序列。

除线性结构以外的结构称为非线性结构。在非线性结构中,各数据元素的关系不一定 保持一个线性序列,每个数据元素可能与零个或多个数据元素有联系。也就是说,非线性结构中的数据元素之间存在一对多或者是多对多的关系。

例如,一个学校的教学组织关系可以构成一个有明显层次的数据结构:学校下属有若干学院,每个学院下设若干个系,每

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4