Data structures 对象&;图的指针表示

Data structures 对象&;图的指针表示,data-structures,tree,graph-algorithm,Data Structures,Tree,Graph Algorithm,看 在图的表示中,使用 对象和指针 有利于邻接表表示和邻接矩阵表示 当图形是类型为的树时 n元,二元(普通二元,平衡——红黑,AVL等)三元,b-树,显然不是一堆。 这是因为: 1.)在树结构中,边具有不同的含义--“左子女”, b-树中的“右子女”、“父母”、“第i个子女”, 树/基树等中的链接值。 树操作需要遍历特定的链接——基于链接类型 (左-、右-、第i个孩子等)。 使用指针可以很容易地区分链接类型。 邻接列表表示法需要在 链接节点,以说明它是什么类型的链接。 矩阵表示需要编码的矩阵条目

看 在图的表示中,使用 对象和指针 有利于邻接表表示和邻接矩阵表示 当图形是类型为的树时 n元,二元(普通二元,平衡——红黑,AVL等)三元,b-树,显然不是一堆。 这是因为:

1.)在树结构中,边具有不同的含义--“左子女”, b-树中的“右子女”、“父母”、“第i个子女”, 树/基树等中的链接值。 树操作需要遍历特定的链接——基于链接类型 (左-、右-、第i个孩子等)。 使用指针可以很容易地区分链接类型。 邻接列表表示法需要在 链接节点,以说明它是什么类型的链接。 矩阵表示需要编码的矩阵条目来说明它是哪种链接

2.)树操作通常需要在节点的子树周围移动。 这很容易做到,, 在固定时间内,通过更改指针值。 在邻接列表和矩阵表示中, 此操作需要搜索要更改的链接 在节点的边列表中,并且在边数或图度方面是线性的——不再是O(1)

树的对象和指针表示形式可以由数组结构支持: 所以,每个顶点都是 仍然由一个对象表示。此对象有一个指向每个子对象的指针和一个 给父级(无论实现的树调用哪种方式)。 但这次,对象是数组条目,指针值是数组索引。这是图的邻接列表和对象及指针表示的混合 而且很强大

我的问题是:在图的表示中还有什么其他的一般情况 其中,使用对象和指针的表示优于邻接列表 邻接矩阵的表示和定义
代表权

我在找这方面的参考资料


提前谢谢

什么是“对象和指针的表示”?它不是一个标准术语AFAIK,所以您必须定义它。@delnan以及邻接列表和邻接矩阵表示法。在CLRS中查找二叉树——查看树结构是如何工作的。环顾四周。不,在我经常使用的圈子里,这个术语一点都不知道,尽管我非常熟悉树的典型实现。基于此,我可以猜出你的意思,但这实际上只是一个猜测和非正式的概念。另外,如果我把这些树结构看作图,我会把典型的树实现看作邻接表的另一种情况。一个具有固定长度和奇特名称的列表元素,但仍然是一个邻接列表。@delnan好吧,正如我所说的,看看周围的一些。做调整表上的树时,你的右耳和左臂都要露出来。