数据结构
1.1数据结构分类
1.2基本数据类型
1.3数字编码
1.4字符编码
1.1数据结构分类
数据结构如同一副稳固而多样的框架。为数据的有序组织提供了蓝图,算法得以在此基础上生动起来。
常用的数据结构包括哪些 , , , , , , ,
数据结构分类: ,
1. 逻辑结构: 揭示了数据元素之间的 。
逻辑关系分为 与 两大类;
线性数据结构: , , , , ,元素之间是 顺序关系
非线性数据结构: , , ,元素之间是 或 的关系
2. 物理结构: 及
我们程序或者软件运行主要是在 ,因此在数据结构与算法的设计中,内存资源是一个重要的考虑因素。
例子,效率是差距,好的学习方法、自律的规划落实等等
内存的简单认识,请看大屏幕:
1.内存条发展史,科普内存中你不知道的哪些秘密!
2.手机内存发展
物理结构反映了数据在计算机内存中的存储方式,
连续空间存储:
分散空间存储:
从底层决定了数据的访问、更新、增删等操作方法,两种物理结构在 效率和 效率方面呈现出互补的特点。
一般数组的插入,删除操作时间复杂度是 ,而反之链表的时间复杂度是 。
一般数组的查找时间复杂度是
所有数据结构都是可用 实现的
所以,问1想清楚什么时候用数组,什么时候用链表会更好?
解:(请用10-30个字描述)
问2静态数据结构与动态数据结构的区别是?
解:(请用15-50个字描述)
小结:请用一段话总结上面所学的知识。
答(请用50个字以上描述):
1.2基本数据类型
文本、图片、视频、语音、3D 模型等这些数据的组织形式各异,但它们都由各种基本数据类型构成。
基本数据类型是 可以直接进行运算的类型在算法中直接被使用
问1 CPU是什么?
在数据类型中,请你写出你已经学习并掌握的数据类型
例如 XX类型:int
类型:
类型:
类型:
类型:
基本数据类型以 进制的形式存储在计算机中,1Bit比特是 个二进制,1字节= bit
1.3数字编码
原码、反码和补码
数字是以“补码”的形式存储在计算机中的。在分析这样做的原因之前,首先给出三者的定义。
- 原码:我们将数字的二进制表示的最高位视为符号位,其中 0 表示正数,1 表示负数,其余位表示数字的值。
- 反码:正数的反码与其原码相同,负数的反码是对其原码除符号位外的所有位取反。
- 补码:正数的补码与其原码相同,负数的补码是在其反码的基础上加 1 。
此时的你像 --->
11的二进制是:
11的原码:
11的反码:
11的补码:
-11的二进制是:
-11的原码:
-11的反码:
-11的补码:
1.4字符编码
为了表示字符char,我们需要建立一套“字符集”,规定每个字符和二进制数之间的一一对应关系。有了字符集之后,计算机就可以通过查表完成二进制数到字符的转换。
ASCII 字符集
不行顶不住,我们来看大屏幕
世界文字“大一统”——字符编码发展史https://www.bilibili.com/video/BV1FV4y1175P/?spm_id_from=333.337.search-card.all.click&vd_source=54142d42b0862c435814097d11d2bda9
请你写出字符编码从诞生到统一的过程:
解: --> --> --> --> -->
参考资料:Hello算法
第 3 章 数据结构 - Hello 算法动画图解、一键运行的数据结构与算法教程https://www.hello-algo.com/chapter_data_structure/