Hello 算法 1.1.0 Kotlin版将“Hello 算法”中的所有字符都 编码为 2 字节长度。这样系统就可以每隔 2 字节解析一个字符,恢复这个短语的内容了。 图 3‑7 Unicode 编码示例 然而 ASCII 码已经向我们证明,编码英文只需 1 字节。若采用上述方案,英文文本占用空间的大小将会是 ASCII 编码下的两倍,非常浪费内存空间。因此,我们需要一种更加高效的 Unicode 编码方法。 3.4.4 UTF‑8 一个错误的字节开始解析文本,字节头部的 10 能够帮助系统快速判断出异常。 之所以将 10 当作校验符,是因为在 UTF‑8 编码规则下,不可能有字符的最高两位是 10 。这个结论可以用 反证法来证明:假设一个字符的最高两位是 10 ,说明该字符的长度为 1 ,对应 ASCII 码。而 ASCII 码的最 高位应该是 0 ,与假设矛盾。 图 3‑8 UTF‑8 编码示例 除了 UTF‑8 之外,常见的编码方式还包括以下两种。 我们主要探究贪心选择性质的判断方法。虽然它的描述看上去比较简单,但实际上对于许多问题,证明贪心 选择性质并非易事。 例如零钱兑换问题,我们虽然能够容易地举出反例,对贪心选择性质进行证伪,但证实的难度较大。如果问: 满足什么条件的硬币组合可以使用贪心算法求解?我们往往只能凭借直觉或举例子来给出一个模棱两可的答 案,而难以给出严谨的数学证明。 Quote 有一篇论文给出了一个 ?(?3) 时间复杂度的算法0 码力 | 381 页 | 18.47 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Kotlin 版将“Hello 算法”中的所有字符都 编码为 2 字节长度。这样系统就可以每隔 2 字节解析一个字符,恢复这个短语的内容了。 图 3‑7 Unicode 编码示例 然而 ASCII 码已经向我们证明,编码英文只需 1 字节。若采用上述方案,英文文本占用空间的大小将会是 ASCII 编码下的两倍,非常浪费内存空间。因此,我们需要一种更加高效的 Unicode 编码方法。 3.4.4 UTF‑8 一个错误的字节开始解析文本,字节头部的 10 能够帮助系统快速判断出异常。 之所以将 10 当作校验符,是因为在 UTF‑8 编码规则下,不可能有字符的最高两位是 10 。这个结论可以用 反证法来证明:假设一个字符的最高两位是 10 ,说明该字符的长度为 1 ,对应 ASCII 码。而 ASCII 码的最 高位应该是 0 ,与假设矛盾。 图 3‑8 UTF‑8 编码示例 除了 UTF‑8 之外,常见的编码方式还包括以下两种。 我们主要探究贪心选择性质的判断方法。虽然它的描述看上去比较简单,但实际上对于许多问题,证明贪心 选择性质并非易事。 例如零钱兑换问题,我们虽然能够容易地举出反例,对贪心选择性质进行证伪,但证实的难度较大。如果问: 满足什么条件的硬币组合可以使用贪心算法求解?我们往往只能凭借直觉或举例子来给出一个模棱两可的答 案,而难以给出严谨的数学证明。 Quote 有一篇论文给出了一个 ?(?3) 时间复杂度的算法0 码力 | 382 页 | 18.48 MB | 10 月前3
Kotlin 1.9.10 官方文档 中文版
对象表达式是在使用他们的地方立即执行(及初始化)的。 对象声明是在第一次被访问到时延迟初始化的。 伴生对象的初始化是在相应的类被加载(解析)时,与 Java 静态初始化 器的语义相匹配 。 委托 委托模式已经证明是实现继承的一个很好的替代方式, 而 Kotlin 可以零样板 代码地原生支持它。 Derived 类可以通过将其所有公有成员都委托给指定对象来实现一个接口 Base : interface 一个对象是否已冻结,可以使用扩展属性 isFrozen 来检测,如果冻结了就可 以共享。目前,Kotlin/Native 运行时只能在枚举对象创建后进行冻结,尽管将 来可能实现自动冻结某些可证明不可变的对象。 对象子图分离 An object subgraph without external references can be disconnected using DetachedObjectGraph0 码力 | 3753 页 | 29.69 MB | 1 年前3
Kotlin 官方文档中文版 v1.9对象声明是在第一次被访问到时延迟初始化的。 伴生对象的初始化是在相应的类被加载(解析)时,与 Java 静态初始化器的语义相匹配 。 对象表达式与对象声明 539 委托 委托模式已经证明是实现继承的一个很好的替代方式, 而 Kotlin 可以零样板代码地原生支持 它。 Derived 类可以通过将其所有公有成员都委托给指定对象来实现一个接口 Base : interface 一个对象是否已冻结,可以使用扩展属性 isFrozen 来检测,如果冻结了就可以共享。目 前,Kotlin/Native 运行时只能在枚举对象创建后进行冻结,尽管将来可能实现自动冻结某些可 证明不可变的对象。 对象子图分离 An object subgraph without external references can be disconnected using DetachedObjectGraph0 码力 | 2049 页 | 45.06 MB | 1 年前3
共 4 条
- 1













