我是靠谱客的博主 感动犀牛,最近开发中收集的这篇文章主要介绍广义表,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

广义表是线性表的推广,是由0个或多个单元素或子表组成的有限序列。

广义表与线性表的区别在于:线性表的元素都是结构上不可分的单元素,而广义表的元素既可以是单元素,也可以是有结构的表。

广义表的长度是指广义表中元素的个数。广义表的深度是指广义表展开后所含的括号的最大层数。

非空广义表的第一个元素称为表头,他可以是一个单元素,也可以是一个子表;除表头元素之外,由其余元素所构成的表称为表尾,非空广义表的表尾必定是一个表。

广义表的特点

广义表可以是多层次的结构,因为广义表的元素可以是子表,而子表的元素还可以是子表。

广义表中的元素可以是已经定义的广义表的名字,所以一个广义表可被其他广义表所共享。

广义表可以是一个递归的表,即广义表中的元素也可以是本广义表的名字。

广义表的存储结构

由于广义表中的元素本身又可以具有结构,它是一种带有层次的非线性结构,因此难以用顺序存储结构表示,通常采用链式存储结构。

若广义表不为空,则可分解为表头和表尾两部分。反之,一对确定的表头和表尾可唯一确定一个广义表。

广义表中的元素可以是原子也可以是子表,针对原子和子表可以分别设计不同的节点结构。表节点有标志域、指示表头的指针域和指示表尾的指针域;而原子只有标志域和值域。
在这里插入图片描述
例如广义表LS=(a,(b,c,d)),其链式存储结构如图所示:

在这里插入图片描述

最后

以上就是感动犀牛为你收集整理的广义表的全部内容,希望文章能够帮你解决广义表所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部