串、数组、广义表 知识点总结

本文深入讲解数据结构核心概念,涵盖串、数组、特殊矩阵及广义表,解析存储结构、运算及压缩存取技巧。

目录

 

串的定义

相关概念

空串与空格串的区别

串的类型定义

串的存储结构

存储密度的计算

数组

 

数组特点

数组的基本操作

数组的抽象数据类型

数组基本操作:

二维数组

二维数组元素位置的计算

三维数组

 三维数组元素位置的计算

 n维数组元素位置的计算

特殊矩阵的压缩存取

压缩对象:一些特殊矩阵,如:对称矩阵,对角矩阵,三角矩阵,稀疏矩阵等。对称矩阵

 三角矩阵

对角矩阵

稀疏矩阵

广义表

与线性表的区别

广义表的性质

广义表的基本运算


串是内容受限(规定里面的数据元素只能是字符)的线性表。

串的定义

相关概念:

空串与空格串的区别

空格串里是空格

空串里什么都没有,连空格也没有

所有空串都是相等的

串的类型定义:

 其中最重要的就是——查找子串的位置(Index(S,T,pos),用 BF算法 或者是 KMP算法

串的存储结构:

MAXLEN+1是代表最多能存储256个数据元素,下标为0到255,其中为了处理方便,下标为0的位置不存元素,从下标为1的位置开始存

存储密度的计算:

像上图第一种(一个节点只存一个字符):其存储密度=1/(1+4)=0.2(其中1代表一个字符占一个字节的空间,4表示其存储的地址为int型,占4个字节的空间,所以总共占(1+4)个字节空间,所以就除以5)

像上图第二种(一个节点存四个字符):其存储密度为=4/(4+4)=0.5(其中4个字符占4个字节的空间,地址为int型也占4个字节的空间,总共占8字节空间

可以看到存储密度增大了,那如果一个节点存储更多字符的话(比如存储50个)它的存储密度将大大提高。

实际情况中,顺序存储结构用的更多,因为实际中需要对字符串进行插入删除的操作的是非常少的。

数组:

数组特点

结构固定——定以后,维数(如二维数组)和维界(数组长度,有上界和下界)不再改变。

数组的基本操作

除了结构的初始化销毁之外,只有

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值