广义表又称为列表,是线性表的推广。一般记为:LS=(a1,a2, … ,an)其中LS是广义表(a1,a2, … ,an)的名称,ai(i=1,2,…,n)是表的元素。与线性表的区别是:其中的ai可以是单个的数据元素(又称为表LS的原子),也可以是广义表(子表)。为了区别原子和广义表,书写时用大写字母表示广义表,用小写字母表示原子。

广义表的相关概念

设广义表 LS=(a1,a2, … ,an),当广义表非空时,a1称为广义表 LS的表头:其余元素组成的表(a2,a3,…,an)是LS的表尾;广义表中的元素个数为表的长度。广义表的深度是指表中所包含的括号的重数(层数),最里层的括号是最低层,最外层的括号是最高层。广义表的定义可以是传递的递归的定义。

(1)A=( ) 空表,长度为零。

(2)B=( e ) 含一个原子,长度为1,表头为原子e,表尾为空。

(3)C=( a,( b,c,d )) 含一个原子a和子表(b,c,d),C的长度为2。

(4)D=(A,B,C) 长度为3,3个元素都为列表。

(5)E=(a, E ) 长度为2,是一个递归的表,相当于一个无限的列表E=(a, (a,(a, …)))。

例5.11 广义表E=( a, ( a,b ), d, e, ( ( i , j ),k ))的表头为( ),表尾为( ),长度为( ),深度为( )。

答:表头为a,表尾为 ( ( a,b ), d, e, ( ( i , j ),k ) ),长度为 5,深度为 3。

广义表的图形表示

列表的元素可以是子表,所以列表是一个多层次的嵌套结构。有时为了使列表的层次更清晰形象,可以用图形表示。图中以圆圈表示列表,以方块表示原子。

例5.12 如图5-14所示,D=(A,B,C),A=( ),B=( e ),C=(a,( b,c,d ))。

广义表(列表)的图形表示

广义表的长度和深度怎么算_C语言:数据结构-广义表的定义和图形表示相关推荐

  1. 广义表的长度和深度怎么算_最新详细个人所得税税率表!快看最新个人所得税怎么算!...

    进入2019年以后,个人所得税的起征点将由3500元提升到5000元.这对于很多纳税人来说,就意味着未来的实际收入会有所增加.现在,大家都很想知道2019年新个税税率表是什么样的.今天,为大家介绍一下 ...

  2. 广义表求长度和深度C++

    构建一张广义表,计算广义表的长度和深度. /**广义表的实现*1.构建广义表形如(a,d,(e,(w,c),(),(r,t)),(((q))));其中空表表示为(),括弧中不添加任何字符2.求广义表长 ...

  3. C语言数据结构——广义表

    C语言数据结构中,广义表和数组一样,也是线性表的一种推广! 广义表的定义: 广义表 LS 为n(n≥0)个元素的有穷序列,记作: LS = (d1, d2, - dn) 其中: di:或为原子项(为具 ...

  4. 广义表的长度,深度及复制广义表的算法

    定义一个广义表类型如下: typedef struct node{int flag;union{elemType data;struct node *pointer;};struct node *li ...

  5. 广义表中长度与深度的计算

    切记:广义表属于非线性结构 . 以下是京东笔试题原题 广义表的长度 广义表的长度就是广义表中第一层的元素个数. 例如:(a,(b,c,d))的长度:因为包含一个原子a与一个字表(b,c,d),所以长度 ...

  6. Go语言-数据结构-线性表

    目录 1.顺序表-线性表顺序存储结构 1.1顺序表结构体定义 1.2顺序表初始化创建 1.3顺序表查找元素k第一次出现时的下标 1.4顺序表插入元素 1.5顺序表删除元素 1.6最终代码和实现效果 2 ...

  7. C语言数据结构线性表顺序存储结构(插入、删除、获取)

    一.代码 #include<stdio.h> #define MAXSIZE 20 /*存储空间初始分配量*/ #define OK 1 #define ERROR 0//元素数据类型,假 ...

  8. C语言数据结构顺序表的顺序查找和折半查找的功能

    C语言顺序表顺序查找和折半查找的基本思想和应用 顺序查找算法:又称为线性查找,主要用在-线性表-中进行查找 通常分为:1-无序线性表的一般查找: 2-对关键字有序的顺序表查找: 优缺点分析: 缺点:当 ...

  9. C语言数据结构线性表上机实验报告,数据结构实验报告实验一线性表_图文

    数据结构实验报告实验一线性表_图文 更新时间:2017/2/11 1:23:00  浏览量:763  手机版 数据结构实验报告 实验名称: 实验一 线性表 学生姓名: 班 级: 班内序号: 学 号: ...

最新文章

  1. Android Scroller完全解析,关于Scroller你所需知道的一切
  2. buu Cipher
  3. Excel表Ctrl+v和Ctrl shift+v有什么区别_Ctrl键与10个数字键,26个字母键的组合应用技巧解读...
  4. 利用 dbghelp.dll 生成 dump 文件
  5. php设置mysql查询编码,php连接mysql时怎么设置编码方式
  6. opencv颜色识别_opencv-python污水颜色识别
  7. 如何快速的入门git实现版本控制
  8. 叫板 Android 开发!跨平台应用开发神器 Flutter 又添开源插件!| 技术头条
  9. 删除可视图中的类不能彻底避免它重新被编译
  10. 一分钟搭建Spring Boot
  11. torch.sort()
  12. pythonxy官网下载_spyder安装包
  13. 软件测试方法--黑盒测试、白盒测试
  14. 全国计算机等级考试二级Python(2021年9月)备考笔记 第九天
  15. Python爬取链家北京租房房价|保存为csv格式文件
  16. JQUERY本地自动保存插件Sisyphus.js
  17. 用HTML编写携程旅行,StaticHtmlPage(仿照携程写的静态网页)
  18. Excel表格中如何获得筛选下拉项的集合?
  19. 基于小波分析与深度学习的脑电信号分类(matlab)
  20. ubuntu下通过鼠标右键创建txt文件

热门文章

  1. Spring Boot 2.X - Spring Boot整合Swagger2(starter方式)
  2. 毕业半年无工作经验的程序员面试会遇到哪些问题
  3. 私有云 VS 公有云
  4. vcredist作用
  5. HTML提供了许多标记,HTML提供了许多标记,下列选项中,不属于HTML标记的是
  6. C/C++中函数声明的作用
  7. python分号_为什么在此python代码段中允许使用分号?
  8. 用 Python 实现一个七夕表白神器,快快敲起来吧
  9. 基于 RabbitMQ 的实时消息推送
  10. Java女程序员求偶的代码能运行出什么?