数据结构-广义表的存储结构(两种)
一、头尾链表的存储结构
头尾链表的存储结构由两种节点结构组成:
表结点
表节点由三部分组成,tag为标志,tag=1表示表节点,tag=0表示原子节点,hp和tp表示两个指针,hp指向该节点的下一层的节点,tp指向同一层的后一个节点。
原子节点
原子节点由两部分部分组成,tag为标志,tag=1表示表节点,tag=0表示原子节点,atom表示该节点的值
例如,广义表 {a,{b,c,d}} 是由一个原子 a 和子表 {b,c,d} 构成,而子表 {b,c,d} 又是由原子 b、c 和 d 构成,用链表存储该广义表如图所示
二、扩展线性链表的存储结构
这种结构,无论表节点还是原子节点,都由三部分组成。这种结构先建立一个表节点,然后为本层的每一个节点建立一个节点,把这些节点用第三个指针域串联在一起,然后检查每一个节点,如果该节点保存的是一个原子节点,则直接在中间值域填入该值,如果是一个表节点,则从中间指针域引出一个新的节点
文章来源:https://www.toymoban.com/news/detail-803934.html
还是上面那个例子,广义表 {a,{b,c,d}} 用扩展线性链表的存储结构如下
文章来源地址https://www.toymoban.com/news/detail-803934.html
到了这里,关于数据结构-广义表的存储结构(两种)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!