第5章--数据结构课件(吴伟民-严蔚敏编著)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2. GetHead【( (a,b), (c,d) )】= 3. GetTail【( (a,b), (c,d) )】= ()
(a,b)
((c,d)) ;
;
4. GetTail【 GetHead【((a,b),(c,d))】】=(b) ; 5. GetTail【(e)】= 6. GetHead 【 ( ( ) )】= 7. GetTail【 ( ( ) ) 】= ; . .
hp 表头指针
ቤተ መጻሕፍቲ ባይዱ指向下 一结点
tp 表尾指针
标志域
数值域
5
例: ① E=(a, E)
1
1
^
0
a
② C =( a ,( b , c , d ) )
1 1
^
1 1
0
a
1
^
0 d
0
b
0
c
第4-5章自测卷习题解答
6
4
()
()
5.5 广义表的存储结构
由于广义表的元素可以是不同结构(原子或列表),难以用 顺序存储结构表示 ,通常用链式结构,每个元素用一个结 点表示。 注意:列表的“元素”还可以是列表,故结点有两种形式:
1.原子结点:通常设2个域
tag=0 value
2.表结点:通常设3个域
tag=1 标志域
指向 子表
特别提示:任何一个非空表,表头可能是原子,也可能 是列表;但表尾一定是列表。
2
广义表的抽象数据类型定义见教材P107-108
介绍两种特殊的基本操作:
GetHead( L) ——取表头(可能是原子或列表); GetTail(L ) ——取表尾(一定是列表) 。
3
例:求下列广义表操作的结果(严题集5.10②) (k, p, h) ; 1. GetTail【(b, k, p, h)】=
第5章 数组和广义表(Arrays & Lists) 5.1 5.2 5.3 5.4 5.5 数组的定义 数组的顺序表示和实现 矩阵的压缩存储 广义表的定义 广义表的存储结构
1
2、广义表特点:
• 有次序性 • 有长度 • 有深度 • 可递归 • 可共享 一个直接前驱和一个直接后继 =表中元素个数 =表中括号的重数 自己可以作为自己的子表 可以为其他广义表所共享
(a,b)
((c,d)) ;
;
4. GetTail【 GetHead【((a,b),(c,d))】】=(b) ; 5. GetTail【(e)】= 6. GetHead 【 ( ( ) )】= 7. GetTail【 ( ( ) ) 】= ; . .
hp 表头指针
ቤተ መጻሕፍቲ ባይዱ指向下 一结点
tp 表尾指针
标志域
数值域
5
例: ① E=(a, E)
1
1
^
0
a
② C =( a ,( b , c , d ) )
1 1
^
1 1
0
a
1
^
0 d
0
b
0
c
第4-5章自测卷习题解答
6
4
()
()
5.5 广义表的存储结构
由于广义表的元素可以是不同结构(原子或列表),难以用 顺序存储结构表示 ,通常用链式结构,每个元素用一个结 点表示。 注意:列表的“元素”还可以是列表,故结点有两种形式:
1.原子结点:通常设2个域
tag=0 value
2.表结点:通常设3个域
tag=1 标志域
指向 子表
特别提示:任何一个非空表,表头可能是原子,也可能 是列表;但表尾一定是列表。
2
广义表的抽象数据类型定义见教材P107-108
介绍两种特殊的基本操作:
GetHead( L) ——取表头(可能是原子或列表); GetTail(L ) ——取表尾(一定是列表) 。
3
例:求下列广义表操作的结果(严题集5.10②) (k, p, h) ; 1. GetTail【(b, k, p, h)】=
第5章 数组和广义表(Arrays & Lists) 5.1 5.2 5.3 5.4 5.5 数组的定义 数组的顺序表示和实现 矩阵的压缩存储 广义表的定义 广义表的存储结构
1
2、广义表特点:
• 有次序性 • 有长度 • 有深度 • 可递归 • 可共享 一个直接前驱和一个直接后继 =表中元素个数 =表中括号的重数 自己可以作为自己的子表 可以为其他广义表所共享