廣義表(Lists
廣義表是n(n≥
其中
①ai
②廣義表通常記作
Ls=( a
③Ls是廣義表的名字
④若ai是廣義表
注意
①廣義表通常用圓括號括起來
②為了區分原子和廣義表
③若廣義表Ls非空(n≥
④廣義表是遞歸定義的
(
① E=()
E是一個空表
② L=(a
L是長度為
③ A=(x
A是長度為
④ B=(A
B是長度為
⑤ C=(A
C的長度為
⑥ D=(a
D的長度為
(
一個表的
【例】表L
(
如果規定任何表都是有名字的
①E()
②L(a
③A(x
④B(A(x
⑤C(A(x
⑥D(a
(
(a)廣義表的圖形表示
①圖中的分支結點對應廣義表
②非分支結點一般是原子
③但空表對應的也是非分支結點
【例】下圖給出了幾個廣義表的圖形表示
(b)廣義表的圖形形狀劃分
①與樹對應的廣義表稱為純表
②允許結點共享的表稱再入表
【例】上圖(d)
③允許遞歸的表稱為遞歸表
【例】上圖(e)
(
廣義表不僅是線性表的推廣
由於廣義表是對線性表和樹的推廣
在此
根據表頭
【例】
head(L)=a
head(B)=A
由於tail(L)是非空表
head(tail(L))=b
對非空表A和(y)
注意:
廣義表()和(())不同
From:http://tw.wingwit.com/Article/program/sjjg/201311/23616.html