14.广义表

news2024/12/26 7:18:50

目录

一. 基本术语

二. 广义表的性质

三. 广义表与线性表的区别和联系

四. 广义表的基本运算

一. 基本术语

广义表(又称列表Lists)是n>=0个元素(a_1,a_2...a_n)的有限序列,其中每一个ai或者是原子,或者是一个广义表。

广义表通常记作:LS=(a_1,a_2...a_n)
其中:LS为表名,n为表的长度,每一个a_i为表的元素。习惯上,一般用大写字母表示广义表,小写字母表示原子。

表头:若LS非空(n>=1),则其第一个元素就是表头。记作head(LS)=a_1

注:表头可以是原子,也可以是子表。
表尾:除表头之外的其它元素组成的表。记作tail(LS)=(a_2...a_n)

注:表尾不是最后一个元素,而是一个子表。

例:(1)A=();空表,长度为0。
(2)B=(());长度为1,表头、表尾均为()。
(3)C=(a,(b,c));长度为2,由原子a和子表(b,c)构成。表头为a;表尾为((b,c))。
(4)D=(x,y,z);长度为3,每一项都是原子。表头为x;表尾为(y,z)。
(5) E=(C,D);长度为2,每一项都是子表。表头为C;表尾为(D)。
(6)F=(a,F);长度为2,第一项为原子,第二项为它本身。表头为a;表尾为F。F=(a, (a, (a, ...)))

二. 广义表的性质

(1)广义表中的数据元素有相对次序;一个直接前驱和一个直接后继;

(2)广义表的长度定义为最外层所包含元素的个数;如:C=(a, (b, c)是长度为2的广义表。
(3)广义表的深度定义为该广义表展开后所含括号的重数;如:A =(b)的深度为1,B=(A,d)的深度为2,C=(f,B,h)的深度为3。注意:“原子”的深度为0;“空表”的深度为1。
(4)广义表可以为其他广义表共享;如:广义表B就共享表A。在B中不必列出A的值,而是通过名称来引用,B= (A)。

(5)广义表可以是一个递归的表。如:F=(a, F)=(a, (a, (a...))
注意:此递归表的深度是无穷值,长度是有限值。

(6)广义表是多层次结构,广义表的元素可以是单元素,也可以是子表,而子表的元素还可以是子表。可以用图形象地表示。
例:D=(E,F)其中:E=(a, (b, c)),F=(d,(e))

三. 广义表与线性表的区别和联系

广义表可以看成是线性表的推广,线性表是广义表的特例。
广义表的结构相当灵活,在某种前提下,它可以兼容线性表、数组、树和有向图等各种常用的数据结构。当二维数组的每行(或每列)作为子表处理时,二维数组即为一个广义表。另外,树和有向图也可以用广义表来表示。
由于广义表不仅集中了线性表、数组、树和有向图等常见数据结构的特点,而且可有效地利用存储空间,因此在计算机的许多应用领域都有成功使用广义表的实例。

四. 广义表的基本运算

主要是求表头和表尾两种基本运算。

(1)求表头GetHead(L):非空广义表的第一个元素,可以是一个原子也可以是一个子表;
(2)求表尾GetTail(L):非空广义表除去表头元素以外其它元素所构成的表。表尾一定是一个表;
例:D= (E,F) = ((a, (b,c)),F),则有:
GetHead(D)= E;GetTail(D)= (F);GetHead(E) = a;GetTail(E)= ((b, c));

GetHead(((b, c)))=(b, c);GetTail(((b, c)))= ();GetHead((b, c))=b;GetTail((b, c))= (c)
GetHead((c))= (c);GetTail((c))= ()

请注意上面表达式里面各层括号的含义。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/911803.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电力防雷监测的综合防雷方案

电力行业是国家的重要基础设施之一,也是雷电天气下最容易受到雷击的设施之一。 雷电对电力设施的影响是巨大的,不仅会造成设备损坏或数据丢失,还会引发火灾、爆炸、中毒、交通事故等次生灾害,给社会带来严重的影响。 因此&#xf…

【并发编程】详解并发编程中Synchronized的特性(可见性、有序性、可重入性、禁止指令重排序)(๑•̀ㅂ•́)و✧

1、synchronized 禁止指令重排分析 我们先看如下代码: class MonitorExample {int a 0;public synchronized void writer() { //1a; //2} //3public synchronized void reader() { //4int i …

[保研/考研机试] KY212 二叉树遍历 华中科技大学复试上机题 C++实现

题目链接: 二叉树遍历_牛客题霸_牛客网二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问根,然后遍历其左子树,最。题目来自【牛客题霸】https://www.nowcoder.com/share/jump/43719512169…

开学必备物品清单!这几款优先考虑!

​马上就要开学了,同学们也要准备一系列开学用品,方便我们的学习生活,那有哪些数码物品可以在开学前准备的呢,接下来给大家安利几款很不错很实用的数码好物! 推荐一:南卡00压开放式蓝牙耳机 南卡00压开放式…

青源Workshop丨AI+心理干预研讨会

青源Workshop丨No.23 AI心理干预 当前,抑郁症、焦虑症等心理障碍成为社会关注的焦点,如何有效地缓解和治疗这些心理问题成为一个重要的研究方向。在这样的背景下,如何利用AI等先进技术手段来辅助心理疾病的治疗备受关注。例如,通过…

【FM-CW雷达】一种通信系统技术——调频连续波信号(FM-CW)(Simulink实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

英伟达™(NVIDIA®)535.98 Linux 图形驱动程序发布

导读英伟达™(NVIDIA)公司近日发布了适用于 Linux、FreeBSD 和 Solaris 系统的 NVIDIA 535.98 图形驱动程序,作为其生产分支的维护更新,解决了各种错误和问题。 在英伟达™(NVIDIA)535.86.05 版本发布仅三周…

Java“牵手”根据关键词搜索(分类搜索)拼多多商品列表页面数据获取方法,拼多多API实现批量商品数据抓取示例

拼多多商城是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取拼多多商品列表和商品详情页面数据,您可以通过开放平台的接口或者直接访问拼多多商城的网页来获取商品列表和详情信息。以下是两种常用方…

git常用操作命令(不定时更新)

git常用操作命令 将某个分支的某次提交迁移到另外一个分支查询这次提交的ID号方法一方法二 切换到目标分支执行commitID合并指令 将某个分支的某次提交迁移到另外一个分支 查询这次提交的ID号 方法一 方法二 切换到目标分支 git checkout 目标分支名 执行commitID合并指令 gi…

LSTM数学计算公式

LSTM(长短期记忆网络)是一种循环神经网络(RNN)的变体,常用于处理时间序列相关的任务。下面将简要介绍LSTM的数学推导和公式模型。 在训练一般神经网络模型时,通常用,其中W为权重,X为输入&#…

html动态爱心代码【二】(附源码)

目录 前言 效果演示 内容修改 完整代码 总结 前言 七夕马上就要到了,为了帮助大家高效表白,下面再给大家带来了实用的HTML浪漫表白代码(附源码)背景音乐,可用于520,情人节,生日,表白等场景&#xff0c…

API自动化管理: 从繁琐到轻松

在数字化时代,API(应用程序编程接口)在软件开发中扮演着至关重要的角色。然而,API管理可能会变得十分繁琐,耗费大量时间和资源。那么,如何实现API自动化管理,从而节省时间、提高效率&#xff0c…

Fedora Linux 的家族(三):实验室

导读本文将对 Fedora Linux 实验室版本进行更详细的介绍。 根据个人需求,每个人使用计算机的方式都不同。你可能是一位设计师,需要在计算机上安装各种设计软件。或者你可能是一位游戏玩家,所以需要一个支持你喜欢的游戏的操作系统。有时候我们…

智慧医院的信息集成平台建设与配电设计方案-安科瑞黄安南

摘要:随着云计算、5G、大数据、物联网等技术的不断发展与进步,推动着智慧医院建设的飞速发展。智慧医院建设强调医院内部业务的多流程联动和医疗信息互联互通的高协同效率,突出了数据驱动下构建高质量数据的必要性。文章提出并分析智慧医院发…

【微服务】微服务调用原理及服务治理

本文通过图文结合,简要讲述微服务的调用原理,以及服务治理的相关概念。 1.微服务的调用原理 举个栗子:你去会所洗脚。首先,技师肯定要先去会所应聘,通过之后,会所会记录该技师的信息和技能,然后…

uni-app打包后安卓不显示地图及相关操作详解

新公司最近用uni-app写app,之前的代码有很多问题,正好趁着改bug的时间学习下uni-app。 问题现象: 使用uni-app在浏览器调试的时候,地图是展示的,但是打包完成后,在app端是空白的。咱第一次写app&#xff…

TCP的可靠性之道:确认重传和流量控制

TCP 全称为 Transmission Control Protocol(传输控制协议),是一种面向连接的、可靠的、基于字节流的传输层通信协议,其中可靠性是相对于其他传输协议的优势点。TCP 为了确保数据传输的可靠性主要做了以下几点: 发送确…

Android TV开发之VerticalGridView

Android TV应用开发和手机应用开发是一样的,只是多了焦点控制,即选中变色。 androidx.leanback.widget.VerticalGridView 继承 BaseGridView , BaseGridView 继承 RecyclerView 。 所以 VerticalGridView 就是 RecyclerView ,使…

华为星闪,一项将 “ 更稳 WiFi ” 和 “ 更好蓝牙 ” 融合起来的通信标准

兼顾多用途和专业化的 AI 大模型、移除安卓代码的 HarmonyOS NEXT 、给折叠屏应用提供适配方向的《 折叠屏/平板应用体验评估标准 》。。。 不过除了这些比较贴近我们普通用户,容易讲清楚的东西,华为还官宣了一个大家可能没注意的黑科技: 星…

麦肯锡的AI员工Lilli,上岗了!

知识革命正在咨询行业发生。8月16日,麦肯锡发布了AI员工Lilli。 “知识是麦肯锡的生命力。” "Knowledge is the lifeforce of McKinsey." # # “通过 Lilli,我们可以利用技术来获取和利用我们的全部知识和资产,从而将生产力提高到…