数据结构课上笔记9

举报
兔老大 发表于 2021/04/26 00:09:42 2021/04/26
【摘要】 数组:按一定格式排列起来的具有相同类型的数据元素的集合。   二维数组:若一维数组中的数据元素又是一维数组结构,则称为二维数组。  同理,推广到多维数组。若 n -1 维数组中的元素又是一个一维数组结构,则称作 n 维数组。  声明格式:数据类型   变量名称[行数] [列数] ;   实现:一般都是采用顺序存储结...

数组:按一定格式排列起来的具有相同类型的数据元素的集合。

 

二维数组:若一维数组中的数据元素又是一维数组结构,则称为二维数组。 

同理,推广到多维数组。若 n -1 维数组中的元素又是一个一维数组结构,则称作 n 维数组。 

声明格式:数据类型   变量名称[行数] [列数] ;

 

实现:一般都是采用顺序存储结构来表示数组。

 

二维数组两种顺序存储方式:以行序为主序 (低下标优先) 、以列序为主序 (高下标优先)

一个二维数组 A,行下标的范围是 1 到 6,列下标的范围是 0 到 7,每个数组元素用相邻的6 个字节存储,存储器按字节编址。那么,这个数组的体积是288个字节。

 

 广义表(又称列表 Lists)是n≥0个元素 a1, a2, …, an 的有限序列,其中每一个ai 或者是原子,或者是一个子表。

 

表头:若 LS 非空 (n≥1 ),则其第一个元素 a1 就是表头。

 表尾:除表头之外的其它元素组成的表。记作  tail(LS) = (a2, ..., an)。 

 

(( )) 长度为 1,表头、表尾均为 ( )

(a, (b, c))长度为 2,由原子 a 和子表 (b, c) 构成。表头为 a ;表尾为 ((b, c))。

 

广义表的长度定义为最外层所包含元素的个数

广义表的深度定义为该广义表展开后所含括号的重数。

“原子”的深度为 0 ;  “空表”的深度为 1 。

 

取表头运算 GetHead  和取表尾运算 GetTail

GetHead(LS) = a1        GetTail(LS) = (a2, …, an)。

 

广义表可看成是线性表的推广,线性表是广义表的特例。

 

广义表的结构相当灵活,在某种前提下,它可以兼容线 性表、数组、树和有向图等各种常用的数据结构。

由于广义表不仅集中了线性表、数组、树和有向图等常 见数据结构的特点,而且可有效地利用存储空间,因此在计算机的许多应用领域都有成功使用广义表的实例。 

 

文章来源: fantianzuo.blog.csdn.net,作者:兔老大RabbitMQ,版权归原作者所有,如需转载,请联系作者。

原文链接:fantianzuo.blog.csdn.net/article/details/83831940

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。