知识大全 广义表的概念

Posted 元素

篇首语:当你感觉到累的适合,不要灰心,你正在走上坡路。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 广义表的概念相关的知识,希望对你有一定的参考价值。

  广义表(Lists 又称列表)是线性表的推广 即广义表中放松对表元素的原子限制 容许它们具有其自身结构

广义表定义  广义表是n(n≥ )个元素a a … ai … an的有限序列  其中   ①ai 或者是原子或者是一个广义表   ②广义表通常记作      Ls=( a a … ai … an)   ③Ls是广义表的名字 n为它的长度   ④若ai是广义表 则称它为Ls的子表  注意   ①广义表通常用圆括号括起来 用逗号分隔其中的元素   ②为了区分原子和广义表 书写时用大写字母表示广义表 用小写字母表示原子   ③若广义表Ls非空(n≥ ) 则al是LS的表头 其余元素组成的表(a a … an)称为Ls的表尾   ④广义表是递归定义的

广义表表示( )广义表常用表示  ① E=()      E是一个空表 其长度为   ② L=(a b)      L是长度为 的广义表 它的两个元素都是原子 因此它是一个线性表  ③ A=(x L)=(x (a b))      A是长度为 的广义表 第一个元素是原子x 第二个元素是子表L   ④ B=(A y)=((x (a b)) y)      B是长度为 的广义表 第一个元素是子表A 第二个元素是原子y   ⑤ C=(A B)=((x (a b)) ((x (a b)) y))      C的长度为 两个元素都是子表   ⑥ D=(a D)=(a (a (a (…))))      D的长度为 第一个元素是原子 第二个元素是D自身 展开后它是一个无限的广义表

( )广义表的深度  一个表的 深度 是指表展开后所含括号的层数   【例】表L A B C的深度为分别为 表D的深度为∞

( )带名字的广义表表示  如果规定任何表都是有名字的 为了既表明每个表的名字 又说明它的组成 则可以在每个表的前面冠以该表的名字 于是上例中的各表又可以写成 ①E()②L(a b)③A(x L(a b))④B(A(x L(a b)) y)⑤C(A(x l(a b)) B(A(x L(a b)) y))⑥D(a D(a D(…)))

( )广义表的图形表示(a)广义表的图形表示   ①图中的分支结点对应广义表  ②非分支结点一般是原子  ③但空表对应的也是非分支结点   【例】下图给出了几个广义表的图形表示

(b)广义表的图形形状划分   ①与树对应的广义表称为纯表 它限制了表中成分的共享和递归  ②允许结点共享的表称再入表  【例】上图(d) 子表A是共享结点 它既是C的一个元素 又是子表B的元素   ③允许递归的表称为递归表  【例】上图(e) 表D是其自身的子表

( )递归表 再人表 纯表 线性表之间的关系满足          广义表不仅是线性表的推广 也是树的推广

广义表运算  由于广义表是对线性表和树的推广 并且具有共享和递归特性的广义表可以和有向图(见第 章)建立对应 因此广义表的大部分运算与这些数据结构上的运算类似   在此 只讨论广义表的两个特殊的基本运算 取表头head(Ls)和取表尾tail(Ls)   根据表头 表尾的定义可知 任何一个非空广义表的表头是表中第一个元素 它可以是原子 也可以是子表 而其表尾必定是子表   【例】      head(L)=a tail(L)=(b)      head(B)=A tail(B)=(y)  由于tail(L)是非空表 可继续分解得到       head(tail(L))=b tail(tail(L))=() 对非空表A和(y) 也可继续分解  注意:  广义表()和(())不同 前者是长度为 的空表 对其不能做求表头和表尾的运算 而后者是长度为l的非空表(只不过该表中惟一的一个元素是空表) 对其可进行分解 得到的表头和表尾均是空表()

cha138/Article/program/sjjg/201311/23616

相关参考

知识大全 数据结构 8.1 广义表的存储结构

  希赛教育计算机专业考研专业课辅导招生  希赛教育计算机专业考研专业课辅导视频  希赛教育计算机考研专业课在线测试系统  广义表L=(a(xy)((z))的存储结构可由对L进行表头和表尾的分析得到l

知识大全 数据结构考研分类复习真题 第五章 数组和广义表[34]

  数组广义表与线性表之间有什么样的关系?【西北工业大学一(分)】  什么是广义表?请简述广义表和线性表的主要区别【北京大学二(分)】  求下列广义表的运算结果【南京航空航天大学 三(分)】

知识大全 数据结构考研分类复习真题 第五章 数组和广义表[8]

  下面说法不正确的是(    )【南京理工大学一(分)】  A广义表的表头总是一个广义表     B广义表的

知识大全 数据结构考研分类复习真题 第五章 答案[2]

  错误稀疏矩阵转置后除行列下标及行列数互换外还必须确定该元素转置后在新三元组中的位置  错误广义表的取表尾运算是非空广义表除去表头元素剩余元素组成的表不可能是原子  错误广义表的表头就是广义表的第一

知识大全 数据结构考研分类复习真题 第五章 数组和广义表[9]

  广义表的取表尾运算其结果通常是个表但有时也可是个单元素值(   )【南京航空航天大学六(分)】  若一个广义表的表头为空表则此广义表亦为空表(  

知识大全 数据结构考研分类复习真题 第五章 数组和广义表[36]

  画出下列广义表的两种存储结构图(()A(B(CD))(EF))【南京航空航天大学三(分)】  假设采用以下两种结点的链表作为广义表的存贮结构表结点(tag=hptp) 元素结点(tag=

知识大全 线性表的链式表示与实现

第八课本课主题线性表的链式表示与实现教学目的掌握线性链表单链表静态链表的概念表示及实现方法教学重点线性链表之单链表的表示及实现方法教学难点线性链表的概念授课内容一复习顺序表的定义二线性链表的概念以链式

重复保险合同的概念

重复保险合同的概念重复保险合同是指投保人就同一保险标的、同一保险利益、同一保险事故与两个以上保险人订立的保险合同。重复保险有广义和狭义之分,广义的重复保险是指投保人就同一保险标的、同一保险利益、同一保

知识大全 数据结构考研分类复习真题 第五章 数组和广义表[45]

  广义表GL=(aa…an)其中ak(k=n)或是单个数据元素(原子)或仍然是个广义表给定如下有关广义表的类型定义  TYPEtagtype=;  glist=^gnode;  gnode=RECO

人寿保险的保险概念

是一种以人的生死为保险对象的保险。是被保险人在保险责任期内生存或死亡,由保险人根据契约规定给付保险金的一种保险。人寿保险一词在使用时有广义和狭义之分。广义的人寿保险就是人身保险,狭义的人寿保险是人身保