码迷,mamicode.com
首页 > 其他好文 > 详细

广义表

时间:2015-06-15 16:31:31      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

一、定义

           广义表简称表,它是线性表的推广。一个广义表是n个元素的一个序列,n=0时称为空表。设ai为广义表的第i个元素,则广义表GL表示为:

                GL=(a1, a2, a3, ........,an)

           如果ai是单个数据元素,则ai是广义表GL的原子;如果ai是一个广义表,则ai是广义表GL的子表。


二、特性

  1. 广义表中的数据元素有相对次序;
  2. 广义表的长度定义为最外层包含的元素个数;
  3. 广义表的深度定义为所含括号的重数。其中原子的深度为0,空表的深度为1.
  4. 广义表可以是一个递归的表。递归表深度为无穷值,长度为有限值。
  5. 任何一个非空广义表GL都可以分解为表头 head(GL) = a1 和表尾 tail(GL)=(a2, a3,....,an)

A = ()   长度为0,深度为1, 无表头表尾

B = (e)  长度为1,深度为1,head(B)=e, tail(B)=()

C = (a,(b,c,d))  长度为2,深度为2, head(C) = a, tail(C) = ((b,c,d))

D = (A,B,C)=((), (e), (a,(b,c,d)))  长度为3,深度为3, head(D)=A=(),  tail(D)=(B, C)=((e), (a,(b,c,d)) )

E = ( (a, (a,b), ((a,b), c)) )  长度为1, 深度为4, head(E)=(a, (a,b), ((a,b), c))  ,tail(E)=()

广义表

标签:

原文地址:http://blog.csdn.net/qhairen/article/details/46503883

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!