广义表_数据结构广义表的长度和深度

广义表_数据结构广义表的长度和深度概念广义表(GeneralizedLists)是n(n≥0)个数据元素a1,a2,…,ai,…,an的有序序列,一般记作:ls=(a1,a2,…,ai,…,an)其中:ls是广义表的名称,

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 

概念

    广义表(Generalized Lists)是n(n≥0)个数据元素a1,a2,…,ai,…,an 的有序序列,一般记作:
                                                           ls=(a1,a2,…,ai,…,an)
 
    
其中:ls 是广义表的名称,n 是它的长度每个ai(1≤i≤n)是ls 的成员:它可以是单个元素(“
广义表ls 的
单元素
”),也可以是一个广义表(“
广义表ls 的
子表
”)。
    
当广义表ls 非空时,称第一个元素a1 为ls 的表头(head),称其余元素组成的表(a2,…,ai,…,an)为ls 的表尾(tail)。
 
广义表的重要性质:
 
⑴广义表是一种多层次的数据结构。广义表的元素可以是单元素,也可以是子表,而子表的元素还可以是子表,…。
 
⑵广义表可以是递归的表,即广义表也可以是其自身的子表。例如表E 就是一个递归的表。
 
⑶广义表可以为其他表所共享。例如,表A、表B、表C 是表D 的共享子表。在D中可以不必列出子表的值,而用子表的名称来引用。
 
一些广义表的例子:
A =()
B =(e)
C =(a,(b,c,d))
D =(A,B,C)
E =(a,E)
F =(())
 

存储结构

头尾表示法
    由于广义表中的数据元素既可能是列表也可能是单元素,相应地在头尾表示法中结点的结构形式有两种:一种是
表结点,用以表示列表;另一种是
元素结点,用以表示单元素:
  1. 表结点中包括一个指向表头的指针指向表尾的指针
  2. 元素结点中应该包括所表示单元素的元素值
  3. 为了区分这两类结点,在结点中还要设置一个标志域:如果标志为1,则表示该结点为表结点;如果标志为0,则表示该结点为元素结点。
广义表_数据结构广义表的长度和深度
例子:
 
A =()
B =(e)
C =(a,(b,c,d))
D =(A,B,C)
E =(a,E)
F =(())
 
广义表_数据结构广义表的长度和深度
 
 
    
    
采用头尾表示法容易分清列表中单元素或子表所在的
层次
。例如,在广义表D 中,单元素a 和e 在同一层次上,而单元素b、c、d 在同一层次上且比a 和e 低一层,子表B 和C 在同一层次上。另外,最高层的表结点的个数即为广义表的长度。例如,在广义表D 的最高层有三个表结点,其广义表的长度为3。
 
孩子兄弟表示法
两种结点形式:一种是
有孩子结点,用以表示
列表;另一种是
无孩子结点,用以表示
单元素
  1. 在有孩子结点中包括一个指向第一个孩子(长子)的指针和一个指向兄弟的指针
  2. 在无孩子结点中包括一个指向兄弟的指针和该元素的元素值
  3. 为了能区分这两类结点,在结点中还要设置一个标志域:如果标志为1,则表示该结点为有孩子结点;如果标志为0,则表示该结点为无孩子结点。
广义表_数据结构广义表的长度和深度
例子:
 
A =()
B =(e)
C =(a,(b,c,d))
D =(A,B,C)
E =(a,E)
F =(())
 
广义表_数据结构广义表的长度和深度

 
    
    
采用孩子兄弟表示法时,表达式中的左括号“(”对应存储表示中的tag=1 的结点,且最高层结点的tp域必为NULL。
 
 
 

参考来源:C语言中文网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167189.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月5日 下午2:46
下一篇 2022年8月5日 下午2:46


相关推荐

  • IDEA安装教程(傻瓜式安装)

    IDEA安装教程(傻瓜式安装)IDEA安装教程1.文件下载1.idea下载2.PJ文件下载2.idea安装步骤3.PJ导包1.文件下载1.idea下载下载地址.版本为2020.1为例2.PJ文件下载下载地址.密码:d79t选择版本进行下载。2.idea安装步骤1.双击打开软件,点击Next2.选择安装目录,然后点击Next(然后会卡一会,取决于电脑性能,在此操作之间,不要着急)3.选择64位,就可以,其他选项看自己需要,然后点击Next4.无需选择,直接点击Install,5.然后点击Finish,完成

    2022年10月2日
    4
  • 聚类之高斯混合模型(Gaussian Mixture Model)

    聚类之高斯混合模型(Gaussian Mixture Model)k means 应该是原来级别的聚类方法了 这整理下一个使用后验概率准确评测其精度的方法 高斯混合模型 我们谈到了用 k means 进行聚类的方法 这次我们来说一下另一个很流行的算法 GaussianMixt GMM 事实上 GMM 和 k means 很像 不过 GMM 是学习出一些概率密度函数来 所以 GMM 除了用在 clustering 上之外 还经常被用于 dens

    2026年3月16日
    2
  • SCSA—信息安全概述

    SCSA—信息安全概述数字化时代威胁升级:攻击频发、传统安全防护逐渐失效、安全风险能见度低、缺乏自动化防御手段一、信息安全概述:1)信息安全:防止任何对数据进行未授权访问的措施,或者防止造成信息有意无意泄漏、破坏、丢失等问题的发生,让数据处于远离危险、免于威胁的状态或特性2)网络安全:计算机网络环境下的信息安全二、信息安全的脆弱性及常见安全攻击1.网络的开放性:互联网的美妙之处在于你与每一个相连,它的可怕之处在于每一个人与你相连2.协议栈的脆弱性及常见攻击1)协议栈的自身脆弱性:缺乏数据源验证机制、缺乏机密性保障机

    2022年6月20日
    35
  • Android学习路线(适合学生)

    Android学习路线(适合学生)写在前面 首先我是一名科班大学生 这是我个人觉得较好的学习路线 适合基础也适合进阶 如果您不喜欢直接关闭即可 欢迎指出其中的错误和给我提供一些建议 文中书籍资源有些可以在计算机书籍控中找到先大家先问个问题 现在 Android 前景怎么样 但行好事莫问前程

    2026年3月19日
    2
  • lrzsz命令包的下载及安装

    lrzsz命令包的下载及安装安装lrzsz命令包后可以使用上传(rz)命令和下载(sz)命令安装推荐yum可以一步到位从下载到安装(https://img-blog.csdnimg.cn/20190411194245896.png)

    2022年6月23日
    67
  • 云从科技发布智能信贷报告智能体 金融尽调从“天”跨入“分钟”时代

    云从科技发布智能信贷报告智能体 金融尽调从“天”跨入“分钟”时代

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号