数据结构_二元组

2023-11-19

今天在牛客网上看到这样一个题目:

当时做的时候直接没反应过来,后来看解析的时候,才知道,二元组,图论上学过嘛。而且,我们以前也经常接触,图(V,E)就是嘛。

下面的解释转载自:https://www.cnblogs.com/larryzeal/p/5095522.html

数据结构分为:逻辑结构、存储结构。

逻辑结构分为:集合、线性结构、树形结构、图形结构。
    --线性表、栈、队列、树、图等逻辑结构。

        --其中线性表、栈、队列为线性结构,树和图都是非线性结构。

物理存储结构分为:顺序存储结构、链式存储结构,索引结构,哈希结构。

        
逻辑结构可以采用两种方法来描述:二元组、图形。
    --二元组表示形式: DS = ( D, S )   【Data Structure】
        --其中 D 是数据元素的集合; S 是 D 中数据元素之间的关系集合,并且数据元素之间的关系是使用序偶来表示的。序偶是由两个元素 x 和 y 按一定顺序排列而成的二元组,记作<x , y>, x 是它的第一元素, y 是它的第二元素。
        

    --当使用图形来表示数据结构时,是用图形中的点来表示数据元素,用图形中的弧来表示数据元素之间的关系。如果数据元素 x 与 y 之间有关系<x , y>,则在图形中有从表示 x 的点出发到达表示 y 的点的一条弧。

现在,另数据结构的二元组形式为:DS = (D, S),则:

  1. 如果 D != null,而S == null,则该数据结构为集合结构。
  2. 如果 D = {01, 02, 03, 04, 05},S = {<02,04>, <03,05>, <05,02>, <01,03>},则该数据结构是线性结构。
    在这些数据元素中有一个可以被称为“第一个”的数据元素;还有一个可以被称为“最后一个”的数据元素;除第一个元素以外每个数据元素有且仅有一个直接前驱元素,除最后一个元素以外每个数据元素有且仅有一个直接后续元素。这种数据结构的特点是数据元素之间是 11 的联系,即线性关系。
  3. D = {01, 02, 03, 04, 05, 06}
    S = {<01,02>, <01,03>, <02,04>, <02,05>, <03,06>}
    除了一个数据元素(元素 01)以外每个数据元素有且仅有一个直接前驱元素,但是可以有多个直接后续元素。这种数据结构的特点是数据元素之间1 N 的联系,即树结构。
  4. D = {01, 02, 03, 04, 05}
    S = {<01,02>, <01,05>, <02,01>, <02,03>, <02,04>, <03,02>,<04,02>, <04,05>, <05,01>, <05,04>}:
    每个数据元素可以有多个直接前驱元素,也可以有多个直接后续元素。这种数据结构的特点是数据元素之间是 M N 的联系,即图结构。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据结构_二元组 的相关文章

随机推荐