数据结构课上笔记9
2023-09-27 14:25:55 时间
数组:按一定格式排列起来的具有相同类型的数据元素的集合。
二维数组:若一维数组中的数据元素又是一维数组结构,则称为二维数组。
同理,推广到多维数组。若 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)。
广义表可看成是线性表的推广,线性表是广义表的特例。
广义表的结构相当灵活,在某种前提下,它可以兼容线 性表、数组、树和有向图等各种常用的数据结构。
由于广义表不仅集中了线性表、数组、树和有向图等常 见数据结构的特点,而且可有效地利用存储空间,因此在计算机的许多应用领域都有成功使用广义表的实例。
相关文章
- MySQL学习笔记
- 复旦大学-961-自主命题-考研学习笔记-数据结构-软件工程-计算机系统
- [轻笔记]CMakeLists指定opencv路径
- linux设备驱动开发详解 笔记
- 硬件笔记之PSV破解固化后黑屏格式化的恢复操作
- Docker学习笔记之使用 Docker Hub 中的镜像
- 表达式树 学习笔记
- python笔记
- 应用指标数据采集并录入Elasticsearch仓库 - 运维笔记
- 《拉钩课程 — 重学数据结构与算法》学习笔记
- 七牛存储使用笔记
- 超硬核!数据结构学霸笔记,考试面试吹牛就靠它
- 数据结构课上笔记7
- 数据结构课上笔记5
- 数据结构课上笔记2
- 数据结构课上笔记1
- TensorFlow学习笔记之四——源码分析之基本操作
- 【笔记】JavaScript版数据结构与算法——基础算法之“递归类”(30. 串联所有单词的子串【排列组合算法】)
- 【笔记】JavaScript版数据结构与算法——基础算法之“正则类”(459. 重复的子字符串)
- 【笔记】JavaScript版数据结构与算法——基础算法之“数组类”(605. 种花问题 )
- 【笔记】JavaScript版数据结构与算法——基础算法之“字符串类”(557.反转字符串中的单词 III、696.计数二进制子串)
- Cocos 3D功能初探学习笔记(2)---3D精灵
- scrapy学习笔记---初识
- 《超越曲棍球杆的战略》(Strategy Beyond the Hockey Stick: People, Probabilities, and Big Moves to Beat the Odds)笔记
- 《园丁与木匠》(The Gardener and the Carpenter: What the New Science of Child Development Tells Us About the Relationship Between Parents and Children)笔记
- H.264学习笔记之一(层次结构,NAL,SPS)
- 大话数据结构笔记【1】:数据结构绪论
- RN笔记-项目教程与源码分享
- python数据结构前缀树+贪心算法-左程云视频学习笔记-更新中