Hello 算法 1.1.0 Swift版克隆仓库与下载代码 第三步:运行源代码。如图 0‑5 所示,对于顶部标有文件名称的代码块,我们可以在仓库的 codes 文件夹内 找到对应的源代码文件。源代码文件可一键运行,将帮助你节省不必要的调试时间,让你能够专注于学习内 容。 图 0‑5 代码块与对应的源代码文件 除了本地运行代码,网页版还支持 Python 代码的可视化运行(基于 pythontutor 实现)。如图 0‑6 所示,你 (?) 的一个渐近上界,记为 ?(?) = ?(?(?)) 。 如图 2‑8 所示,计算渐近上界就是寻找一个函数 ?(?) ,使得当 ? 趋向于无穷大时,?(?) 和 ?(?) 处于相同 的增长级别,仅相差一个常数项 ? 的倍数。 第 2 章 复杂度分析 hello‑algo.com 31 图 2‑8 函数的渐近上界 2.3.3 推算方法 渐近上界的数学味儿有点重,如果你感觉没有完全理 100_000 for _ in 0 ..< size { count += 1 } return count } 2. 线性阶 ?(?) 线性阶的操作数量相对于输入数据大小 ? 以线性级别增长。线性阶通常出现在单层循环中: // === File: time_complexity.swift === /* 线性阶 */ func linear(n: Int) -> Int {0 码力 | 379 页 | 18.47 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Swift 版克隆仓库与下载代码 第三步:运行源代码。如图 0‑5 所示,对于顶部标有文件名称的代码块,我们可以在仓库的 codes 文件夹内 找到对应的源代码文件。源代码文件可一键运行,将帮助你节省不必要的调试时间,让你能够专注于学习内 容。 图 0‑5 代码块与对应的源代码文件 除了本地运行代码,网页版还支持 Python 代码的可视化运行(基于 pythontutor 实现)。如图 0‑6 所示,你 (?) 的一个渐近上界,记为 ?(?) = ?(?(?)) 。 如图 2‑8 所示,计算渐近上界就是寻找一个函数 ?(?) ,使得当 ? 趋向于无穷大时,?(?) 和 ?(?) 处于相同 的增长级别,仅相差一个常数项 ? 的倍数。 第 2 章 复杂度分析 www.hello‑algo.com 31 图 2‑8 函数的渐近上界 2.3.3 推算方法 渐近上界的数学味儿有点重,如果你感觉没 100_000 for _ in 0 ..< size { count += 1 } return count } 2. 线性阶 ?(?) 线性阶的操作数量相对于输入数据大小 ? 以线性级别增长。线性阶通常出现在单层循环中: // === File: time_complexity.swift === /* 线性阶 */ func linear(n: Int) -> Int {0 码力 | 379 页 | 18.48 MB | 10 月前3
Hello 算法 1.0.0 Swift版克隆仓库与下载代码 第三步:运行源代码。如图 0‑5 所示,对于顶部标有文件名称的代码块,我们可以在仓库的 codes 文件夹内 找到对应的源代码文件。源代码文件可一键运行,将帮助你节省不必要的调试时间,让你能够专注于学习内 容。 图 0‑5 代码块与对应的源代码文件 除了本地运行代码,网页版还支持 Python 代码的可视化运行(基于 pythontutor 实现)。如图 0‑6 所示,你 (?) 的一个渐近上界,记为 ?(?) = ?(?(?)) 。 如图 2‑8 所示,计算渐近上界就是寻找一个函数 ?(?) ,使得当 ? 趋向于无穷大时,?(?) 和 ?(?) 处于相同 的增长级别,仅相差一个常数项 ? 的倍数。 第 2 章 复杂度分析 hello‑algo.com 31 图 2‑8 函数的渐近上界 2.3.3 推算方法 渐近上界的数学味儿有点重,如果你感觉没有完全理 100_000 for _ in 0 ..< size { count += 1 } return count } 2. 线性阶 ?(?) 线性阶的操作数量相对于输入数据大小 ? 以线性级别增长。线性阶通常出现在单层循环中: // === File: time_complexity.swift === /* 线性阶 */ func linear(n: Int) -> Int {0 码力 | 378 页 | 17.59 MB | 1 年前3
做一个有趣的多人 AR 游戏 - 刘冠杉BitStreamCodable • Bit-packed encoding/decoding of values • 传输数据小,快速serialization和deserialization 调试 Logging import os.log extension OSLog { static let ar = OSLog(subsystem: "com.guanshanliu "AR") } let conference = "@Swift Conference" os_log(.info, log: .ar, "%s is awesome", conference) 级别 Log Levels 使⽤用意图 Usage 持久化 Persistence Default things that might result a failure • initially in memory0 码力 | 71 页 | 6.93 MB | 1 年前3
Hello 算法 1.0.0b1 Swift版ZIP”直接下载代码压缩包,本地解压即可。 Figure 0‑5. 克隆仓库与下载代码 第三步:运行源代码。若代码块的顶部标有文件名称,则可在仓库 codes 文件夹中找到对应的 源代码文件。源 代码文件可以帮助你省去不必要的调试时间,将精力集中在学习内容上。 0. 写在前面 hello‑algo.com 6 Figure 0‑6. 代码块与对应的源代码文件 0.2.5. 在提问讨论中共同成长 阅读本书时,请不要“惯 ?(?) = ?(?(?)) Figure 2‑2. 函数的渐近上界 本质上看,计算渐近上界就是在找一个函数 ?(?) ,使得在 ? 趋向于无穷大时,?(?) 和 ?(?) 处于相同的增 长级别(仅相差一个常数项 ? 的倍数)。 2. 复杂度分析 hello‑algo.com 17 � 渐近上界的数学味儿有点重,如果你感觉没有完全理解,无需担心,因为在实际使用中我们只 需要会推算即可,数学意义可以慢慢领悟。 size = 100_000 for _ in 0 ..< size { count += 1 } return count } 线性阶 ?(?) 线性阶的操作数量相对输入数据大小成线性级别增长。线性阶常出现于单层循环。 // === File: time_complexity.swift === /* 线性阶 */ func linear(n: Int) -> Int { var0 码力 | 190 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b2 Swift版ZIP”直接下载代码压缩包,本地解压即可。 Figure 0‑5. 克隆仓库与下载代码 第三步:运行源代码。若代码块的顶部标有文件名称,则可在仓库 codes 文件夹中找到对应的 源代码文件。源 代码文件可以帮助你省去不必要的调试时间,将精力集中在学习内容上。 0. 写在前面 hello‑algo.com 6 Figure 0‑6. 代码块与对应的源代码文件 0.2.5. 在提问讨论中共同成长 阅读本书时,请不要“惯 ?(?) = ?(?(?)) Figure 2‑2. 函数的渐近上界 本质上看,计算渐近上界就是在找一个函数 ?(?) ,使得在 ? 趋向于无穷大时,?(?) 和 ?(?) 处于相同的增 长级别(仅相差一个常数项 ? 的倍数)。 2. 复杂度分析 hello‑algo.com 17 � 渐近上界的数学味儿有点重,如果你感觉没有完全理解,无需担心,因为在实际使用中我们只 需要会推算即可,数学意义可以慢慢领悟。 size = 100_000 for _ in 0 ..< size { count += 1 } return count } 线性阶 ?(?) 线性阶的操作数量相对输入数据大小成线性级别增长。线性阶常出现于单层循环。 // === File: time_complexity.swift === /* 线性阶 */ func linear(n: Int) -> Int { var0 码力 | 199 页 | 15.72 MB | 1 年前3
Hello 算法 1.0.0b5 Swift版克隆仓库与下载代码 第三步:运行源代码。如图 0‑5 所示,对于顶部标有文件名称的代码块,我们可以在仓库的 codes 文件夹内 找到对应的源代码文件。源代码文件可一键运行,将帮助你节省不必要的调试时间,让你能够专注于学习内 容。 图 0‑5 代码块与对应的源代码文件 0.2.4 在提问讨论中共同成长 在阅读本书时,请不要轻易跳过那些没学明白的知识点。欢迎在评论区提出你的问题,我和小伙伴们将竭诚 (?) 的一个渐近上界,记为 ?(?) = ?(?(?)) 。 如图 2‑8 所示,计算渐近上界就是寻找一个函数 ?(?) ,使得当 ? 趋向于无穷大时,?(?) 和 ?(?) 处于相同 的增长级别,仅相差一个常数项 ? 的倍数。 第 2 章 复杂度分析 hello‑algo.com 29 图 2‑8 函数的渐近上界 2.3.3 推算方法 渐近上界的数学味儿有点重,如果你感觉没有完全理 100_000 for _ in 0 ..< size { count += 1 } return count } 2. 线性阶 ?(?) 线性阶的操作数量相对于输入数据大小 ? 以线性级别增长。线性阶通常出现在单层循环中: // === File: time_complexity.swift === /* 线性阶 */ func linear(n: Int) -> Int {0 码力 | 376 页 | 30.70 MB | 1 年前3
Swift 迁移之路 - 唐巧决策⽅方案 纯 Swift 写⼀一个新项⽬目 遇到的问题 • 编译器器性能问题,编译⼀一次 5 分钟 • IDE ⽆无误编译,卡顿严重。 • Swift 和 C++ 底层直播库的调⽤用麻烦,调试时常出问题。 • 系统补全时常挂掉 • pod 1.5 对动态库⽀支持不不好,很多问题 解决⽅方案 • ⿊黑苹果 • ⽤用 injected 来 run 起来调整界⾯面 • ⽤用0 码力 | 43 页 | 1.37 MB | 1 年前3
Pop in Swift - 李洁信代码没有增多,却更复⽤用 • ⾯面向协议(接⼝口),⽽而不是实现,充分解耦 • 静态类型检查帮助在编译时发现问题 • 写代码像搭积⽊木,先设计接⼝口,再逐⼀一实现 • 依赖少,更容易调试 More Protocols class LoginController: UIViewController, Requestable, LoadingPresenter, AlertPresenter0 码力 | 60 页 | 875.09 KB | 1 年前3
共 9 条
- 1













