前面讲过,数组即可以存储不可再分的数据元素(如数字 5、字符 'a'),也可以继续存储数组(即 n 维数组)。

但需要注意的是,以上两种数据存储形式绝不会出现在同一个数组中。例如,我们可以创建一个整形数组去存储 {1,2,3},我们也可以创建一个二维整形数组去存储 {{1,2,3},{4,5,6}},但数组不适合用来存储类似 {1,{1,2,3}} 这样的数据。

有人可能会说,创建一个二维数组来存储{1,{1,2,3}}。在存储上确实可以实现,但无疑会造成存储空间的浪费。

对于存储 {1,{1,2,3}} 这样的数据,更适合用广义表结构来存储。

什么是广义表

广义表,又称列表,也是一种线性存储结构。

同数组类似,广义表中既可以存储不可再分的元素,也可以存储广义表,记作:

LS = (a1,a2,…,an)

其中,LS 代表广义表的名称,an 表示广义表存储的数据。广义表中每个 ai 既可以代表单个元素,也可以代表另一个广义表。

原子和子表

通常,广义表中存储的单个元素称为 "原子",而存储的广义表称为 "子表"。

例如创建一个广义表 LS = {1,{1,2,3}},我们可以这样解释此广义表的构成:广义表 LS

什么是广义表、广义表及定义详解相关推荐

  1. Java中常见RuntimeException与其他异常表及Exception逻辑关系详解

    Java中常见RuntimeException与其他异常表及Exception逻辑关系详解 前言 常见`RuntimeException` 其他错误类型 `Error`类 `Exception`类 E ...

  2. 关系型数据库表之间的联系[关系]详解

    关系型数据库表之间的联系[关系]详解 在表中,行和列的逻辑顺序无关紧要.每个表至少包含一列,该列被称为主键,它唯一地标识了表中的每一行. 键是表中扮演特殊角色的列,有两种键:主键.外键. 主键(Pri ...

  3. Oracle创建表语句(Create table)语法详解及示例

    Oracle创建表语句(Create table)语法详解及示例   创建表(Create table)语法详解 1. ORACLE常用的字段类型ORACLE常用的字段类型有 VARCHAR2 (si ...

  4. layui单选框verify_layui lay-verify form表单自定义验证规则详解

    虽然layui的官方文档已经是写的比较详细,但是初次使用的时候总会懵一下,这里纪录一下lay-verify自定义验证规则的时候到底放哪. html: 提交 js: form.verify({ //数组 ...

  5. php表单提交到数据库详解

    一般朋友们逛一些网站的时候,想使用网站或者看到更多网站里的内容,网站会要求用户进行新用户的注册,网站会把新用户的注册信息存入数据库中,需要的时候再进行提取. 这样网站就会首先创建自己的数据库和对应的表 ...

  6. oracle 误删除表数据,Oracle误删除表数据后的数据恢复详解

    Oracle误删除表数据后的恢复详解 测试环境: SYSTEM:IBM AIX 5L                         Oracle Version:10gR2 1. undo_rete ...

  7. oracle表稅片整理,oracle_Oracle表碎片整理操作步骤详解,高水位线(HWL)下的许多数据 - phpStudy...

    Oracle表碎片整理操作步骤详解 高水位线(HWL)下的许多数据块都是无数据的,但全表扫描的时候要扫描到高水位线的数据块,也就是说oracle要做许多的无用功!因此oracle提供了shrink s ...

  8. 转 C++宏定义详解

    来自:传送门 C++宏定义详解 一.#define的基本用法 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往 ...

  9. openerp经典收藏 对象定义详解(转载)

    对象定义详解 原文地址: http://shine-it.net/index.php/topic,2159.0.html http://blog.sina.com.cn/s/blog_57ded94e ...

  10. C++中的宏定义详解

    转载自:C++中的宏定义 和 C++宏定义详解 目录 一.#define解析 1 #define命令剖析 1.1   #define的概念 1.2 宏替换发生的时机 1.3 ANSI标准说明了五个预定 ...

最新文章

  1. Struts 验证码登陆
  2. ACM 模板--邻接表 无向图 搜索算法
  3. 一位强人写的电子工程师起码技术要求
  4. Maven之搭建本地私服(nexus)仓库
  5. eclipse或Myeclipse中web项目没有run on server时怎么办?
  6. linux shell学习问题部分记录
  7. python遍历目录树 除文件_python遍历目录树删除指定后缀的文件
  8. python的类和对象_Python面向对象之类和对象实例详解
  9. 一次NBU备份错误诊断
  10. Atlas200 模组拆解
  11. 基于React和Html5的宠物领养平台网站设计与实现
  12. C# 死循环等待方式
  13. 征途完美单机版_征途世界单机版
  14. Direct3D初始化失败的原因
  15. 用户层调用nl80211的例子
  16. pycharm报错SyntaxError: Non-UTF-8 code starting with ‘\xdf‘ in file的一种可能的解决方式
  17. java微信支付 [统一下单接口] 与 [订单查询接口] 调用成功完整代码与结果
  18. 腾讯调架构:MIG总裁离任 重点放在平台型业务
  19. 指令大全(win+r)
  20. 使用EMQX搭建的MQTT服务器 如何转发数据并保存到云端数据库?

热门文章

  1. 城南花未开,老程已不在;
  2. House Robber的解法
  3. 个人python练习
  4. 2018年全国多校算法寒假训练营练习比赛(第二场)H 了断局
  5. 爱尔兰卫生部遭Conti勒索软件攻击说明与建议
  6. Gradle 2.0 用户指南翻译——第五十一章. 发布工件
  7. 第二章 正则表达式 2021-09-07
  8. 轻轻揭开 b*tree 索引结构的神秘面纱
  9. 织梦php实现评论,织梦文章评论功能的使用
  10. 聚美优品正式退市:陈欧下一个将为谁代言?