5.4 广义表

01

广义表的定义

1、广义表是线性表的推广,也有人称其为列表(lists,用复数形式以示与统称的表list的区别)。广泛地用于人工智能等领域的表处理语言LISP语言,把广义表作为基本的数据结构。

02

广义表的存储结构

1、由广义表(a1,a2,a3...an)中的数据元素可以具有不同的结构(或是原子,或是列表),因此难以用顺序存储结构表示,通常采用链式存储结构,每个数据元素可用一个结点表示。

2、由于列表中的数据元素可能为原子或列表,由此需要两种数据结构的结点:一种是表结点,用以表示列表;一种是原子结点,用以表示原子。

3、若列表不空,则可分解成表头和表尾。由此,一个表结点可由3个域组成:标志域、指示表头的指针域和指示表尾的指针域;而原子结点只需两个域:标志域和值域。

如果您觉得本篇文章对您有作用,请转发给更多的人,点一下好看就是对小编的最大支持!

本文分享自微信公众号 - C语言入门到精通(gh_780327809188),作者:闫小林

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-01-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据结构 | 每日一练(61)

    ——老子

    闫小林
  • 6.1 树的定义和基本术语

    (2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2...,其中每一个集合本身又是一棵树,并且称为根的子树。

    闫小林
  • 8.1 动态存储管理

    1、在之前的文章中,对每一种数据结构虽都介绍了他们在内存储器中的映像,但只是借助C语言中的变量说明加以描述,并没涉及具体的存储分配。

    闫小林
  • jmeter参数化随机取值实现

    jmeter能用来做参数化的组件有几个,但是都没有随机取值的功能,遇到随机取值的需求怎么办呢?

    流柯
  • Qt widget vs Qt Quick

    并不是说web语言不好, 我很喜欢web, 从一开始学习html到后来入坑nodejs可以说web领域给我带来了很多的见识同时还payed my bil...

    Jean
  • JavaScript中的 innerHTML 字符与变量拼接赋值

     注意这样写只会显示字符串,整型变量无法显示,要改成 parseInt(dis) ,才能达到如图的效果。

    acoolgiser
  • 分享DDOS防御过程中需要了解的技术手段

    在DDOS防护过程中,流量清洗是必不可少的技术操作。那么精准的流量清洗具体是通过什么样的方式实现的呢?其中会有多种的技术方式辨识。昨天给大家分享了流量清洗过程中...

    墨者安全科技
  • VB中Unicode的转换

        VB本身的字符串格式就是Unicode,用Winsock发送字符串的话,会默认把字符串转换为Ansi的格式进行发送。Ansi格式,对于英文符号等仍然使用...

    用户1075292
  • RobotFramework工具试用

    Robot Framework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分...

    用户6859632
  • iOS单例中 Block 回调一对多设计

     播放器是通过代理委托来告知外部当前展示的 VC 类关于音乐播放信息,但需求迭代过程中新增了一个App全局页面展示的音乐悬浮窗,悬浮窗需要实时监听当前播放器的播...

    我只不过是出来写写代码

扫码关注云+社区

领取腾讯云代金券