哪个网站域名解析,大型门户网站建设效果好吗,网站优化 合同,调颜色网站文章目录 前言1、数据结构分类1.1、逻辑结构#xff1a;线性与非线性1.2、物理结构#xff1a;连续与分散1.3、数据结构的实现方式1.4、数据结构的选择依据 2、基本数据类型2.1、定义与分类2.2、存储形式 3、数字编码3.1、原码、反码与补码3.2、浮点数编码3.3、整数与浮点数区… 文章目录 前言1、数据结构分类1.1、逻辑结构线性与非线性1.2、物理结构连续与分散1.3、数据结构的实现方式1.4、数据结构的选择依据 2、基本数据类型2.1、定义与分类2.2、存储形式 3、数字编码3.1、原码、反码与补码3.2、浮点数编码3.3、整数与浮点数区别 4、字符编码4.1、ASCII 字符集4.2、GBK 字符集4.3、Unicode 字符集4.4、UTF-8 编码 前言
亲爱的家人们创作很不容易若对您有帮助的话请点赞收藏加关注哦您的关注是我持续创作的动力谢谢大家有问题请私信或联系邮箱fn_kobe163.com
1、数据结构分类
从两个维度划分
①逻辑结构关注数据元素之间的逻辑关系。 ②物理结构关注数据在计算机内存中的存储方式。
1.1、逻辑结构线性与非线性
①定义逻辑结构揭示数据元素之间的逻辑关系。数据线性排列或呈现更复杂的层次或网络关系。
②分类 i线性结构 数据呈一对一的顺序关系。常见结构数组、链表、栈、队列、哈希表。
ii非线性结构 数据呈一对多或多对多的关系。分为以下两类 i树形结构如树、堆、哈希表。 ii网状结构如图。
③特点 i线性数据结构简单直观逻辑关系呈线性排列。 ii非线性数据结构适合表示复杂层次和网络关系逻辑关系更复杂。
1.2、物理结构连续与分散
①定义物理结构描述数据在计算机内存中的存储方式。内存由单元格内存空间组成每个单元格通过内存地址访问。
②分类 i连续空间存储数据存储在连续的内存块中。常见结构数组。 ii分散空间存储数据存储在非连续的内存块中通过指针连接。常见结构链表。
③特点
i连续存储访问效率高但需要大块连续内存。适用于静态数据结构。 ii分散存储内存利用率高支持动态调整。适用于动态数据结构。
1.3、数据结构的实现方式
①基于数组的实现 i可实现栈、队列、哈希表、树、堆、图、矩阵、张量等。 ii特点初始化后长度固定但可通过重新分配内存实现一定的动态性。
②基于链表的实现 i可实现栈、队列、哈希表、树、堆、图等。 ii特点支持动态长度调整适合在运行时需要频繁修改长度的场景。
③动态与静态数据结构 i链表动态数据结构长度可在运行时调整。 ii数组静态数据结构长度在初始化时固定但通过内存重分配可具备动态性。
1.4、数据结构的选择依据
①性能与内存效率的权衡 i连续存储如数组适合需要快速访问的数据结构但对内存连续性要求高。 ii分散存储如链表适合需要频繁插入和删除操作的数据结构内存利用率更高。
②实际应用中的组合 数据结构往往基于数组和链表的组合实现。如哈希表可能结合数组存储槽位和链表处理冲突。
2、基本数据类型
2.1、定义与分类
基本数据类型是 CPU 直接运算的数据类型用于表示数据基本形式。包括整数、浮点数、字符和布尔类型。 ①主要类型 i整数类型byte、short、int、long用于表示整数。 ii浮点数类型float、double用于表示小数。 iii字符类型char用于表示字母、标点符号及其他字符。 iv布尔类型bool用于表示“是/否”判断。
2.2、存储形式
所有基本数据类型以二进制形式存储一个二进制位bit是计算的最小单位。一个字节byte由 8 个比特bit组成绝大多数现代操作系统遵循此规则。基本数据类型的取值范围取决于其占用的空间大小例如
3、数字编码
3.1、原码、反码与补码
①定义
i原码二进制表示中最高位为符号位0表示正数1表示负数其余位表示数值。 ii反码正数的反码与原码相同负数的反码为原码符号位不变其余位按位取反。 iii补码正数的补码与原码相同负数的补码为其反码加1。 ②补码特点 解决原码和反码中“正零”和“负零”带来的歧义问题。通过将负数的运算转化为加法运算简化硬件设计。 支持负数范围比正数多一个。
③计算机使用补码原因 统一正负数的加减法运算不需要单独设计减法电路。消除正负零的歧义简化条件判断。硬件电路设计更简单高效支持并行化运算。
3.2、浮点数编码
①表示方式 根据 IEEE 754 标准32 位浮点数 float 由以下三部分组成 i符号位1 位表示正数或负数。 ii指数位8 位表示数值的指数部分。 iii分数位23 位表示有效数字部分。 计算公式
3.3、整数与浮点数区别
①存储空间 int 和 float 都占用 4 字节但表示范围和精度不同。int 使用所有比特表示均匀分布的整数。float 使用部分比特表示指数位扩展范围但降低精度。
②适用场景 整数类型适用于精确计算如计数或索引操作。浮点数类型适用于需要表示小数或范围极大的数值。
4、字符编码
**①定义**字符编码通过“字符集”将字符与二进制数一一对应实现二进制数到字符的转换。 ②需求背景不同语言和符号的表示需要统一规则字符编码规范解决这一问题。
4.1、ASCII 字符集
①特点ASCII 是最早的字符集使用7位二进制表示共支持128个字符。包含英文大小写字母、数字、标点符号及控制字符。 ②扩展EASCII扩展到8位可表示256个字符。不同地区的 EASCII 字符集后128个字符定义不同以适应本地语言需求。
4.2、GBK 字符集
①背景GB23121980 年发布解决汉字表示问题支持 6763 个汉字但无法覆盖罕见字和繁体字。 ②扩展GBK 在 GB2312 基础上扩展支持 21886 个汉字。 ③编码方式ASCII 字符使用 1 字节。汉字使用 2 字节。
4.3、Unicode 字符集
①特点统一字符集支持全球语言和符号理论上可容纳 100 多万个字符。通过统一的“码点”为每个字符分配编号。 ②意义解决多语言环境乱码问题。消除不同字符集之间的兼容性障碍。 ③问题Unicode 只是定义字符码点没有规定如何存储字符导致在实际实现中需要额外编码方案。
4.4、UTF-8 编码
①定义UTF-8 是 Unicode 的一种编码方式使用 1 至 4 字节表示一个字符。根据字符复杂性调整字节数具备高效性和兼容性。 ②规则1 字节ASCII 字符最高位为 0。多字节起始字节高位以 1 标识字节长度其余位用于编码字符码点。后续字节以 10 开头用于填充字符码点。
③优点向下兼容 ASCII适合处理历史遗留文本。多字节的起始位和校验位设计便于错误检测。 ④其他编码方式 UTF-162 或 4 字节表示字符常用非英文字符占 2 字节。 UTF-32固定使用 4 字节适配性差占用空间大。