广义表,广义表的定义和计算

简介: 广义表的定义和概念,包括空表、单元素表、嵌套子表以及如何计算广义表的长度、取表头、取表尾和计算广义表的深度。

广义表是线性表的推广,也称为列表。

(1)A=()——A是一个空表,其长度为0。

(2)B=(e)——B只有一个原子e,其长度为1.

(3)C=(a,(b,c,d))——C的长度为2,两个元素分别为原子a和子表(b,c,d)。

(4)D=(A,B,C)——D的长度为3,3个元素都是广义表。显然将子表的值代入后,则有D=((),(e),(a,(b,c,d)))。(通常大写字母是广义表,广义表的元素可以是广义表)。

这里的长度是指的是最外层的元素个数,比如C。

取表头,gethead(C)就是 a,最外层的第一个元素。

取表尾,getTail(C) 就是,(b,c,d)这个(取出的表尾为除去表头之外由其余元素构成的表,——表尾元素一定是个广义表)

广义表的深度,就是表的最长的元素个数。

目录
相关文章
|
关系型数据库 MySQL 数据库
InnoDB事务和锁定信息:如何识别和解决阻塞查询问题
InnoDB事务和锁定信息:如何识别和解决阻塞查询问题
|
8月前
|
编解码 算法 计算机视觉
YOLOv11改进策略【小目标改进】| 添加专用于小目标的检测层 附YOLOv1~YOLOv11的检测头变化详解
YOLOv11改进策略【小目标改进】| 添加专用于小目标的检测层 附YOLOv1~YOLOv11的检测头变化详解
1470 11
|
10月前
【HarmonyOS】HMRouter使用详解(二)
HMRouter中使用HMRouterMgr的静态方法push()和replace()来实现路由跳转。使用pop()方法来实现页面返回 * push :目标页面不会替换当前页,而是插入页面栈。可以使用pop实现页面的返回操作。 * replace:目标页面会替换当前页,并销毁当前页。这样可以释放当前页的资源,并且无法返回到当前页。 * pop:返回页面栈的上一个页面,skipedLayerNumber 页面返回的层级数量,默认为0,表示返回上一级,1表示跳过一级页面返回
446 8
【HarmonyOS】HMRouter使用详解(二)
|
12月前
|
算法
串ababaaababaa的next和串ababaabab的nextval
本文介绍了计算字符串的next数组和nextval数组的方法,通过分析两个具体的例子来展示如何计算这些数组,这些数组通常用于KMP算法中。
579 0
串ababaaababaa的next和串ababaabab的nextval
|
12月前
|
存储 Linux 编译器
cmake的单目录和多目录的使用(Linux和Windows)
本文介绍了在Windows和Linux平台上使用CMake构建单目录和多目录项目的步骤,包括如何配置CMakeLists.txt文件以及如何生成和使用可执行文件、库文件。
516 2
|
机器学习/深度学习 Web App开发 测试技术
『软件测试3』八大典型的黑盒测试方法已来袭,快快接住!
该文章介绍了八种常用的黑盒测试方法,包括等价类划分、边界值分析、错误推测法、因果图法、决策表测试、状态转换法、场景法以及随机测试,并提供了相应的案例说明。
mapshaper命令:geojson转shp中文乱码的解决方案
mapshaper命令:geojson转shp中文乱码的解决方案
683 0
|
存储 SQL 关系型数据库
关系型数据库存储优化
关系型数据库存储优化
226 1
|
JSON 小程序 C#
微信网页授权之使用完整服务解决方案
微信网页授权之使用完整服务解决方案
|
存储 算法 数据处理
【C/C++ 数据结构 】广义表深度解析:从原理到C/C++实现
【C/C++ 数据结构 】广义表深度解析:从原理到C/C++实现
479 0