数据结构-4.6串、数组和广义表

数据结构-4.6串、数组和广义表

前言-数据结构

数据结构是需要反复咀嚼,不管什么时候都可以重中获取现在在开发中的遇到的问题答案。

广义表

  • 定义
  • 广义表也称为列表,是线性表的一种扩 展,也是数据元素的有限序列。记作: LS= (d0, d1,d2… dn-1)。其中di既可以是单个元素,也可以是广义表。
  • 说明
  • 广义表的定义是一个递归定 义因为在描述广 义表时又用到了广义表:
  • 在线性表中数据元素是单个元素,而在广义表中,元素可以是单个元素称为单元素(原于),也可以是广义表称为广义表的子表:
  • n是广义表长度:
  • 例子
  • A为空表,表长为0
A = ()
  • B的表长为2,两个元素分别为a和子表(b,c,d)
B = (a,(b,c,d))
  • C中只有一个元素e,表长为1
C = (e)
  • D的表长为4,它的前三个元素A,B, C广义表、第四个是单元素
D = (A,B,C,f)
  • E是递归表
E = (a,E)
  • 广义表的运算 注意表尾tail是剩余元素组成的表一定要再加个括号()
  • 若广义表不空,则可分成表头和表尾,反之,对表头和表尾可唯一 确定广义表。对非空广义表:称第一个元素为L的表头,其余元素组成的表称为LS的表尾:
    在这里插入图片描述
  • 广义表的存储结构
  • 由于广义表中数据元素可以具有不同结构,故难以用顺序结构表示广义表。通常采用链表存储方式如何设定链表结点?广义表中的数据元素可能为单元素(原子)或子表,由此需要两种结点:一种是表结点,用以表示广义表;一种是单元素结点,用以表示单元素(原子)
    • 单元素结点在这里插入图片描述
    • 表结点在这里插入图片描述
  • 广义表的存储结构示意图
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41732253/article/details/109547614