This commit is contained in:
krahets
2023-08-17 05:12:05 +08:00
parent f0826da7f6
commit 97c532b228
67 changed files with 1481 additions and 1066 deletions
+3 -3
View File
@@ -12,7 +12,7 @@ comments: true
![ASCII 码](character_encoding.assets/ascii_table.png)
<p align="center"> Fig. ASCII 码 </p>
<p align="center"> 图:ASCII 码 </p>
然而,**ASCII 码仅能够表示英文**。随着计算机的全球化,诞生了一种能够表示更多语言的字符集「EASCII」。它在 ASCII 的 7 位基础上扩展到 8 位,能够表示 256 个不同的字符。
@@ -40,7 +40,7 @@ Unicode 是一种字符集标准,本质上是给每个字符分配一个编号
![Unicode 编码示例](character_encoding.assets/unicode_hello_algo.png)
<p align="center"> Fig. Unicode 编码示例 </p>
<p align="center"> 图:Unicode 编码示例 </p>
然而 ASCII 码已经向我们证明,编码英文只需要 1 字节。若采用上述方案,英文文本占用空间的大小将会是 ASCII 编码下大小的两倍,非常浪费内存空间。因此,我们需要一种更加高效的 Unicode 编码方法。
@@ -61,7 +61,7 @@ UTF-8 的编码规则并不复杂,分为两种情况:
![UTF-8 编码示例](character_encoding.assets/utf-8_hello_algo.png)
<p align="center"> Fig. UTF-8 编码示例 </p>
<p align="center"> 图:UTF-8 编码示例 </p>
除了 UTF-8 之外,常见的编码方式还包括:
@@ -17,7 +17,7 @@ comments: true
![线性与非线性数据结构](classification_of_data_structure.assets/classification_logic_structure.png)
<p align="center"> Fig. 线性与非线性数据结构 </p>
<p align="center"> 图:线性与非线性数据结构 </p>
非线性数据结构可以进一步被划分为树形结构和网状结构。
@@ -35,7 +35,7 @@ comments: true
![内存条、内存空间、内存地址](classification_of_data_structure.assets/computer_memory_location.png)
<p align="center"> Fig. 内存条、内存空间、内存地址 </p>
<p align="center"> 图:内存条、内存空间、内存地址 </p>
内存是所有程序的共享资源,当某块内存被某个程序占用时,则无法被其他程序同时使用了。**因此在数据结构与算法的设计中,内存资源是一个重要的考虑因素**。比如,算法所占用的内存峰值不应超过系统剩余空闲内存;如果缺少连续大块的内存空间,那么所选用的数据结构必须能够存储在离散的内存空间内。
@@ -43,7 +43,7 @@ comments: true
![连续空间存储与离散空间存储](classification_of_data_structure.assets/classification_phisical_structure.png)
<p align="center"> Fig. 连续空间存储与离散空间存储 </p>
<p align="center"> 图:连续空间存储与离散空间存储 </p>
值得说明的是,**所有数据结构都是基于数组、链表或二者的组合实现的**。例如,栈和队列既可以使用数组实现,也可以使用链表实现;而哈希表的实现可能同时包含数组和链表。
+2 -2
View File
@@ -20,7 +20,7 @@ comments: true
![原码、反码与补码之间的相互转换](number_encoding.assets/1s_2s_complement.png)
<p align="center"> Fig. 原码、反码与补码之间的相互转换 </p>
<p align="center"> 图:原码、反码与补码之间的相互转换 </p>
显然「原码」最为直观。但实际上,**数字是以「补码」的形式存储在计算机中的**。这是因为原码存在一些局限性。
@@ -131,7 +131,7 @@ $$
![IEEE 754 标准下的 float 表示方式](number_encoding.assets/ieee_754_float.png)
<p align="center"> Fig. IEEE 754 标准下的 float 表示方式 </p>
<p align="center"> 图:IEEE 754 标准下的 float 表示方式 </p>
给定一个示例数据 $\mathrm{S} = 0$ $\mathrm{E} = 124$ $\mathrm{N} = 2^{-2} + 2^{-3} = 0.375$ ,则有: