@ -47,6 +47,10 @@ comments: true
### 浮点数表示方式 *
!!! note
在本书中,标题后的 `*` 符号代表选读章节,如果你觉得理解困难,建议先跳过,等学完必读章节后续再单独攻克。
细心的你可能会疑惑: int 和 float 长度相同,都是 4 bytes ,**但为什么 float 的取值范围远大于 int** ?按说 float 需要表示小数,取值范围应该变小才对。
其实,这是因为浮点数 float 采用了不同的表示方式。IEEE 754 标准规定,32-bit 长度的 float 由以下部分构成:
@ -103,7 +107,6 @@ $$
双精度 double 也采用类似 float 的表示方法,在此不再赘述。
### 基本数据类型与数据结构的关系
我们知道,**数据结构是在计算机中组织与存储数据的方式**,它的主语是“结构”,而不是“数据”。如果我们想要表示“一排数字”,自然想到使用「数组」数据结构。数组的存储方式可以表示数字的相邻关系、顺序关系,但至于其中存储的是整数 int ,还是小数 float ,或是字符 char ,**则与所谓的数据的结构无关了**。
@ -125,7 +125,7 @@ BFS 常借助「队列」来实现。队列具有“先入先出”的性质,
!!! question "广度优先遍历的序列是否唯一?"
不唯一。广度优先遍历只要求“由近及远”,而相同距离的多个顶点的遍历顺序允许任意被打乱。以上图为例,顶点 $1$ , $3$ 的访问顺序可以交换、顶点 $2$ , $4$ , $6$ 的访问顺序也可以任意交换、以此类推……
不唯一。广度优先遍历只要求“由近及远”,**而多个相同距离的顶点的遍历顺序允许被任意打乱**。以上图为例,顶点 $1$ , $3$ 的访问顺序可以交换、顶点 $2$ , $4$ , $6$ 的访问顺序也可以任意交换、以此类推……
### 复杂度分析