31. 数据结构笔记之三十一广义表
来源:互联网 发布:matlab for mac 2014b 编辑:程序博客网 时间:2024/06/05 00:47
31. 数据结构笔记之三十一广义表
“自己活着,就是为了使别人活得更美好。--雷锋”
我们继续来学习广义表。
1. 什么是广义表
广义表(Lists,又称列表)是一种非线性的数据结构,是线性表的一种推广。即广义表中放松对表元素的原子限制,容许它们具有其自身结构。它被广泛的应用于人工智能等领域的表处理语言LISP语言中。在LISP语言中,广义表是一种最基本的数据结构,就连LISP 语言的程序也表示为一系列的广义表。
2. 广义表的深度
一个广义表的深度是指该广义表展开后所含括号的层数。
例如,A=(b,c)的深度为1,B=(A,d)的深度为2,C=(f,B,h)的深度为3。
3. 广义表的存储结构
由于广义表的元素类型不一定相同,因此,难以用顺序结构存储表中元素,通常采用链接存储方法来存储广义表中元素,并称之为广义链表。
采用链式存储结构,每个数据元素可用一个结点表示:
(1)表结点,用以表示子表
(2)元素结点,用以表示单元素
4. 广义表定义
广义表是n(n≥0)个元素a1,a2,…,ai,…,an的有限序列。
其中:
①ai--或者是原子或者是一个广义表。
②广义表通常记作:
Ls=( a1,a2,…,ai,…,an)。
③Ls是广义表的名字,n为它的长度。
④若ai是广义表,则称它为Ls的子表。
注意:
①广义表通常用圆括号括起来,用逗号分隔其中的元素。
②为了区分原子和广义表,书写时用大写字母表示广义表,用小写字母表示原子。
③若广义表Ls非空(n≥1),则al是LS的表头,其余元素组成的表(a1,a2,…,an)称为Ls的表尾。
④广义表是递归定义的
- 31. 数据结构笔记之三十一广义表
- 数据结构之广义表
- 数据结构学习笔记之广义表的相关知识点
- 32. 数据结构笔记之三十二广义表实现一
- 33. 数据结构笔记之三十三广义表实现二
- 8.数据结构之广义表
- c++数据结构之广义表
- 浅析数据结构之广义表
- 数据结构之广义表模拟
- 数据结构之【数组和广义表】复习题
- 算法与数据结构之广义表
- 数据结构之数组和广义表
- 数据结构之广义表和二叉树
- 数据结构之数组和广义表
- 数据结构---->广义表
- 数据结构 广义表
- 数据结构广义表实验
- 数据结构--广义表
- 用pyinstaller生成exe遇到的问题
- 达内课程-正则表达式
- ssm实现分页
- 30. 数据结构笔记之三十数组之厄拉多塞筛
- 断言
- 31. 数据结构笔记之三十一广义表
- c面试题,那些简单问题里的陷阱!
- Mysql导入excel数据,解决某些字符乱码问题
- spring事务管理
- opencv中ostu算法
- xilinx下载模式
- 第三周项目二 “顺序表”算法库
- Webrtc穿透转发通讯2-windows
- spoj 1812 LCS2(SAM+DP)