Hello 算法 1.1.0 Java版均时间复杂度为 Θ(?/2) = Θ(?) 。 但对于较为复杂的算法,计算平均时间复杂度往往比较困难,因为很难分析出在数据分布下的整体数学期望。 在这种情况下,我们通常使用最差时间复杂度作为算法效率的评判标准。 为什么很少看到 Θ 符号? 可能由于 ? 符号过于朗朗上口,因此我们常常使用它来表示平均时间复杂度。但从严格意义上讲,这 种做法并不规范。在本书和其他资料中,若遇到类似“平均时间复杂度 ?( 需要表示小数,取值范围应该变小才对。 实际上,这是因为浮点数 float 采用了不同的表示方式。记一个 32 比特长度的二进制数为: ?31?30?29 … ?2?1?0 根据 IEEE 754 标准,32‑bit 长度的 float 由以下三个部分构成。 ‧ 符号位 S :占 1 位,对应 ?31 。 ‧ 指数位 E :占 8 位,对应 ?30?29 … ?23 。 ‧ 分数位 N :占 254} (1 + N) =(1 + 23 ∑ ?=1 ?23−?2−?) ⊂ [1, 2 − 2−23] 第 3 章 数据结构 hello‑algo.com 59 图 3‑5 IEEE 754 标准下的 float 的计算示例 观察图 3‑5 ,给定一个示例数据 S = 0 ,E = 124 ,N = 2−2 + 2−3 = 0.375 ,则有: val = (−1)0 × 2124−1270 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0 Java版均时间复杂度为 Θ(?/2) = Θ(?) 。 但对于较为复杂的算法,计算平均时间复杂度往往比较困难,因为很难分析出在数据分布下的整体数学期望。 在这种情况下,我们通常使用最差时间复杂度作为算法效率的评判标准。 � 为什么很少看到 Θ 符号? 可能由于 ? 符号过于朗朗上口,因此我们常常使用它来表示平均时间复杂度。但从严格意义 上讲,这种做法并不规范。在本书和其他资料中,若遇到类似“平均时间复杂度 需要表示小数,取值范围应该变小才对。 实际上,这是因为浮点数 float 采用了不同的表示方式。记一个 32 比特长度的二进制数为: ?31?30?29 … ?2?1?0 根据 IEEE 754 标准,32‑bit 长度的 float 由以下三个部分构成。 ‧ 符号位 S :占 1 位,对应 ?31 。 ‧ 指数位 E :占 8 位,对应 ?30?29 … ?23 。 ‧ 分数位 N :占 254} (1 + N) =(1 + 23 ∑ ?=1 ?23−?2−?) ⊂ [1, 2 − 2−23] 第 3 章 数据结构 hello‑algo.com 59 图 3‑5 IEEE 754 标准下的 float 的计算示例 观察图 3‑5 ,给定一个示例数据 S = 0 ,E = 124 ,N = 2−2 + 2−3 = 0.375 ,则有: val = (−1)0 × 2124−1270 码力 | 376 页 | 17.59 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Java 版均时间复杂度为 Θ(?/2) = Θ(?) 。 但对于较为复杂的算法,计算平均时间复杂度往往比较困难,因为很难分析出在数据分布下的整体数学期望。 在这种情况下,我们通常使用最差时间复杂度作为算法效率的评判标准。 为什么很少看到 Θ 符号? 可能由于 ? 符号过于朗朗上口,因此我们常常使用它来表示平均时间复杂度。但从严格意义上讲,这 种做法并不规范。在本书和其他资料中,若遇到类似“平均时间复杂度 ?( 需要表示小数,取值范围应该变小才对。 实际上,这是因为浮点数 float 采用了不同的表示方式。记一个 32 比特长度的二进制数为: ?31?30?29 … ?2?1?0 根据 IEEE 754 标准,32‑bit 长度的 float 由以下三个部分构成。 ‧ 符号位 S :占 1 位,对应 ?31 。 ‧ 指数位 E :占 8 位,对应 ?30?29 … ?23 。 ‧ 分数位 N :占 (1 + N) =(1 + 23 ∑ ?=1 ?23−?2−?) ⊂ [1, 2 − 2−23] 第 3 章 数据结构 www.hello‑algo.com 59 图 3‑5 IEEE 754 标准下的 float 的计算示例 观察图 3‑5 ,给定一个示例数据 S = 0 ,E = 124 ,N = 2−2 + 2−3 = 0.375 ,则有: val = (−1)0 × 2124−1270 码力 | 379 页 | 18.48 MB | 10 月前3
Hello 算法 1.0.0b4 Java版‧ 时间效率,即算法运行速度的快慢。 ‧ 空间效率,即算法占用内存空间的大小。 简而言之,我们的目标是设计“既快又省”的数据结构与算法。掌握评估算法效率的方法则至关重要,因为 只有了解评价标准,我们才能进行算法之间的对比分析,从而指导算法设计与优化过程。 2.1.2. 效率评估方法 实际测试 假设我们现在有算法 A 和算法 B,它们都能解决同一问题,现在需要对比这两个算法的效率。我们最直接的 2) = Θ(?) 。 但在实际应用中,尤其是较为复杂的算法,计算平均时间复杂度比较困难,因为很难简便地分析出在数据分 布下的整体数学期望。在这种情况下,我们通常使用最差时间复杂度作为算法效率的评判标准。 � 为什么很少看到 Θ 符号? 可能由于 ? 符号过于朗朗上口,我们常常使用它来表示「平均复杂度」,但从严格意义上看, 这种做法并不规范。在本书和其他资料中,若遇到类似“平均时间复杂度 float 的取值范围远大于 int ?这非 常反直觉,因为按理说 float 需要表示小数,取值范围应该变小才对。 实际上,这是因为浮点数 float 采用了不同的表示方式。根据 IEEE 754 标准,32‑bit 长度的 float 由以下 部分构成: ‧ 符号位 S :占 1 bit 。 ‧ 指数位 E :占 8 bits 。 ‧ 分数位 N :占 24 bits ,其中 23 位显式存储。0 码力 | 342 页 | 27.39 MB | 1 年前3
Nacos架构&原理
对该领域感兴趣的技术爱好者阅读。 推荐序 < 8 Facebook 工程师 & CNCF 前 TOC 成员 - 李响 服务注册、发现与配置管理是构成大型分布式系统的基石。Nacos 是集成了这三种能力的现代化、 开源开放的代表系统。本书系统化的介绍了 Nacos 诞生的历史背景以及其在阿里集团内部孕育的过 程,阐述了打造⼀款实用、易用系统的全过程。另外,本书也从设计、架构方面详细介绍了 Nacos 的实现,分享了 生了巨大的影响力,在互联网行业广泛使用,但是这⼀阶段的开源除了情怀和展示技术影响力之后 很难量化对公司的价值,因此也比较难以持续发展。第二个阶段是 2018 年开始,随着云计算发展, 开源作为⼀种标准加速云计算发展,尤其 K8s 迅速崛起给我们很多启示,作为⼀家云计算公司,阿 里巴巴也在 2018 年制定了⼀个全面开源,加速企业数字化转型,影响 100w 开发者的战略目标, 这个阶段的开源发 多好,你们哪里哪里不行,如果我们不开源去打⼀ 打,怎么更好的证明我们更好,还有⼀个点是当时我们有商业化产品的,虽然我们知道我们更好, 但是奈何用户选择的是 Eureka,我们只能兼容,而且我们不出去,不成为默认标准,不知道未来还 要被迫兼容更多不如我们的产品,这对我们来说是⼀个灾难。因此我们决定开源。 迎面而来的是第二个问题,开源的定位和竞争力是什么? 内部三个产品的开源策略是什么? 由于当时 Spring-cloud0 码力 | 326 页 | 12.83 MB | 9 月前3
Hello 算法 1.0.0b5 Java版均时间复杂度为 Θ(?/2) = Θ(?) 。 但对于较为复杂的算法,计算平均时间复杂度往往是比较困难的,因为很难分析出在数据分布下的整体数学 期望。在这种情况下,我们通常使用最差时间复杂度作为算法效率的评判标准。 � 为什么很少看到 Θ 符号? 可能由于 ? 符号过于朗朗上口,我们常常使用它来表示平均时间复杂度。但从严格意义上看, 这种做法并不规范。在本书和其他资料中,若遇到类似“平均时间复杂度 需要表示小数,取值范围应该变小才对。 实际上,这是因为浮点数 float 采用了不同的表示方式。记一个 32‑bit 长度的二进制数为: ?31?30?29 … ?2?1?0 根据 IEEE 754 标准,32‑bit 长度的 float 由以下三个部分构成。 ‧ 符号位 S :占 1 bit ,对应 ?31 。 ‧ 指数位 E :占 8 bits ,对应 ?30?29 … ?23 。 ‧ 分数位 254} (1 + N) =(1 + 23 ∑ ?=1 ?23−?2−?) ⊂ [1, 2 − 2−23] 第 3 章 数据结构 hello‑algo.com 57 图 3‑5 IEEE 754 标准下的 float 的计算示例 观察图 3‑5 ,给定一个示例数据 S = 0 ,E = 124 ,N = 2−2 + 2−3 = 0.375 ,则有: val = (−1)0 × 2124−1270 码力 | 376 页 | 30.69 MB | 1 年前3
Hello 算法 1.0.0b1 Java版2) = Θ(?) 。 但在实际应用中,尤其是较为复杂的算法,计算平均时间复杂度比较困难,因为很难简便地分析出在数据分布 下的整体数学期望。这种情况下,我们一般使用最差时间复杂度来作为算法效率的评判标准。 2. 复杂度分析 hello‑algo.com 27 � 为什么很少看到 Θ 符号? 实际中我们经常使用「大 ? 符号」来表示「平均复杂度」,这样严格意义上来说是不规范的。这 可能是因为 bytes ,但为什么 float 的取值范围远大于 int ?按说 float 需要表示小数,取值范围应该变小才对。 其实,这是因为浮点数 float 采用了不同的表示方式。IEEE 754 标准规定,32‑bit 长度的 float 由以下部分构 成: ‧ 符号位 S :占 1 bit ; ‧ 指数位 E :占 8 bits ; ‧ 分数位 N :占 24 bits ,其中 23 位显式存储; + N) =(1 + 23 ∑ ?=1 ?23−?2−?) ⊂ [1, 2 − 2−23] 3. 数据结构简介 hello‑algo.com 40 Figure 3‑1. IEEE 754 标准下的 float 表示方式 以上图为例,S = 0 ,E = 124 ,N = 2−2 + 2−3 = 0.375 ,易得 val = (−1)0 × 2124−127 × (1 + 0.375)0 码力 | 186 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b2 Java版2) = Θ(?) 。 但在实际应用中,尤其是较为复杂的算法,计算平均时间复杂度比较困难,因为很难简便地分析出在数据分布 下的整体数学期望。这种情况下,我们一般使用最差时间复杂度来作为算法效率的评判标准。 2. 复杂度分析 hello‑algo.com 27 � 为什么很少看到 Θ 符号? 实际中我们经常使用「大 ? 符号」来表示「平均复杂度」,这样严格意义上来说是不规范的。这 可能是因为 bytes ,但为什么 float 的取值范围远大于 int ?按说 float 需要表示小数,取值范围应该变小才对。 其实,这是因为浮点数 float 采用了不同的表示方式。IEEE 754 标准规定,32‑bit 长度的 float 由以下部分构 成: ‧ 符号位 S :占 1 bit ; ‧ 指数位 E :占 8 bits ; ‧ 分数位 N :占 24 bits ,其中 23 位显式存储; + N) =(1 + 23 ∑ ?=1 ?23−?2−?) ⊂ [1, 2 − 2−23] 3. 数据结构简介 hello‑algo.com 40 Figure 3‑1. IEEE 754 标准下的 float 表示方式 以上图为例,S = 0 ,E = 124 ,N = 2−2 + 2−3 = 0.375 ,易得 val = (−1)0 × 2124−127 × (1 + 0.375)0 码力 | 197 页 | 15.72 MB | 1 年前3
Linux Docker MessTorvalds,与观众进行互动交流。Linus 期间非常出人意料地对NVIDIA爆出了粗 口。 FOAAS. http://www.foaas.com/ Linux的特点 n Linux is free n 开放性 n 可靠的系统安全 n 良好的可移植性 n 多用户性 n 多任务 n 良好的用户界面 n 设备独立性 n 强大的网络功能 n Linux的版本一般指内核版本; n Linux通过 抢占式,不能真正实现实时应用。RT-Linux用巧妙的方式解决了此 问题,它并没有重写Linux的内核,而是实现了一个高效的可抢占式 实时调度核心并把Linux作为此核心的一个优先级最低的进程运行, 用户可以编写自己的实时进程,和标准的Linux共同运行。 Android n 架构 Linux Kernel Google vs Oracle:Java版权之争 So, what is Linux? n Linux is 分为块设备和字符 设备 n 管道(FIFO)文件 : 提供进程建通信的一种方式 套接字(socket) 文件: 该文件类型与网络通信有关 Architecture File System 标准化的目录结构 tree –L 1 Architecture File System tree –L 1 –p /dev 显示文件类型及权限 目录树的显示深度 Architecture0 码力 | 77 页 | 7.40 MB | 1 年前3
跟我学Shiro - 张开涛Shiro——http://jinnianshilongnian.iteye.com/ 136 第十七章 OAuth2 集成 目前很多开放平台如新浪微博开放平台都在使用提供开放 API 接口供开发者使用,随之带 来了第三方应用要到开放平台进行授权的问题,OAuth 就是干这个的,OAuth2 是 OAuth 协议的下一个版本,相比 OAuth1,OAuth2 整个授权流程更简单安全了,但不兼容0 码力 | 219 页 | 4.16 MB | 10 月前3
共 22 条
- 1
- 2
- 3













