Update the captions of all the figures.

This commit is contained in:
krahets
2023-02-26 18:18:34 +08:00
parent 85d04b30fb
commit 9e99ac06ce
31 changed files with 99 additions and 175 deletions

View File

@@ -11,9 +11,7 @@
- **线性数据结构**:数组、链表、栈、队列、哈希表;
- **非线性数据结构**:树、图、堆、哈希表;
![classification_logic_structure](classification_of_data_structure.assets/classification_logic_structure.png)
<p align="center"> Fig. 线性与非线性数据结构 </p>
![线性与非线性数据结构](classification_of_data_structure.assets/classification_logic_structure.png)
## 物理结构:连续与离散
@@ -23,9 +21,7 @@
**「物理结构」反映了数据在计算机内存中的存储方式**。从本质上看,分别是 **数组的连续空间存储****链表的离散空间存储**。物理结构从底层上决定了数据的访问、更新、增删等操作方法,在时间效率和空间效率方面呈现出此消彼长的特性。
![classification_phisical_structure](classification_of_data_structure.assets/classification_phisical_structure.png)
<p align="center"> Fig. 连续空间存储与离散空间存储 </p>
![连续空间存储与离散空间存储](classification_of_data_structure.assets/classification_phisical_structure.png)
**所有数据结构都是基于数组、或链表、或两者组合实现的**。例如栈和队列,既可以使用数组实现、也可以使用链表实现,而例如哈希表,其实现同时包含了数组和链表。

View File

@@ -76,7 +76,7 @@ $$
\end{aligned}
$$
![ieee_754_float](data_and_memory.assets/ieee_754_float.png)
![IEEE 754 标准下的 float 表示方式](data_and_memory.assets/ieee_754_float.png)
以上图为例,$\mathrm{S} = 0$ $\mathrm{E} = 124$ $\mathrm{N} = 2^{-2} + 2^{-3} = 0.375$ ,易得
@@ -206,8 +206,6 @@ $$
**系统通过「内存地址 Memory Location」来访问目标内存位置的数据**。计算机根据特定规则给表格中每个单元格编号,保证每块内存空间都有独立的内存地址。自此,程序便通过这些地址,访问内存中的数据。
![computer_memory_location](data_and_memory.assets/computer_memory_location.png)
<p align="center"> Fig. 内存条、内存空间、内存地址 </p>
![内存条、内存空间、内存地址](data_and_memory.assets/computer_memory_location.png)
**内存资源是设计数据结构与算法的重要考虑因素**。内存是所有程序的公共资源,当内存被某程序占用时,不能被其它程序同时使用。我们需要根据剩余内存资源的情况来设计算法。例如,若剩余内存空间有限,则要求算法占用的峰值内存不能超过系统剩余内存;若运行的程序很多、缺少大块连续的内存空间,则要求选取的数据结构必须能够存储在离散的内存空间内。