Hello 算法 1.2.0 简体中文 Rust 版. . . . . . . . . . . . . . . . . 307 第 14 章 动态规划 308 14.1 初探动态规划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 14.2 动态规划问题特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 14.3 动态规划解题思路 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 14.4 0‑1 背包问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 和示例问题等。 第 0 章 前言 www.hello‑algo.com 3 图 0‑1 本书主要内容 0.1.3 致谢 本书在开源0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.0.0 Rust版. . . . . . . . . . . . . . . . . 306 第 14 章 动态规划 307 14.1 初探动态规划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 14.2 动态规划问题特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 14.3 动态规划解题思路 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 14.4 0‑1 背包问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 和示例问题等。 第 0 章 前言 hello‑algo.com 3 图 0‑1 本书主要内容 0.1.3 致谢 本书在开源社区众多0 码力 | 383 页 | 17.61 MB | 1 年前3
Hello 算法 1.1.0 Rust版. . . . . . . . . . . . . . . . . 307 第 14 章 动态规划 309 14.1 初探动态规划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 14.2 动态规划问题特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 14.3 动态规划解题思路 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 14.4 0‑1 背包问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 和示例问题等。 第 0 章 前言 hello‑algo.com 3 图 0‑1 本书主要内容 0.1.3 致谢 本书在开源社区众多0 码力 | 388 页 | 18.50 MB | 1 年前3
Rust 语言学习笔记. 102 7.5.1 控制访问顺序--等待与通知 ................................................... 103 7.5.2 控制访问顺序的机制-原子类型与锁 ........................................ 104 7.6 并行 ..................................... Java 有相当大的差异。而跟 Ocaml, Haskell 这类函数式语言更加接近。 Rust 做到了内存安全而无需 .NET 和 Java 编程语言中实现自动垃圾收集器的 开销,这是通过所有权/借用机制、生命周期、以及类型系统来达到的。 Rust 程序设计语言的本质在于赋能(empowerment):无论你现在编写的是何 种代码,Rust 能让你在更为广泛的编程领域走得更远,写出自信。 比 2.4.2.5 slice Slice 从直观上讲,是对一个 Array 的切片,通过 Slice,你能获取到一个 Array 的部分或者全部的访问权限。和 Array 不同,Slice 是可以动态的,但是 呢,其范围是不能超过 Array 的大小,这点和 Golang 是不一样的。Golang slice 可以超出 Array 的大小是存在一些问题的。 一个 Slice 的表达式可以为如下:0 码力 | 117 页 | 2.24 MB | 1 年前3
Comprehensive Rust(简体中文) 202412165 29.3 尝试转换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 29.4 动态错误类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 29.5 thiserror 和 anyhow 本课程假设你已经具备编程知识。Rust 是一种静态类型语言,本课程有时会将其与 C 和 C++ 进行比较, 以便更好地解释或对比 Rust 的设计。 如果你会使用 Python 或 JavaScript 等动态类型语言编程,那么你也能够很好地跟上进度。 10 这是演讲者备注(Speaker Notes)的示例。页面中使用它来为幻灯片添加备注信息,其内容包括讲师应涉 及的要点,以及对课堂上可能出现的典型问题的回答。 本身就是一个功能强大且全面的工具。它能够实现许多高级功能,包括 但不限于: * 项目/软件包结构 * 工作区 * 开发依赖和运行时依赖管理/缓存 * 构建脚本 * 全局安装 * 它还可以使用子命令插件(例如 cargo clippy)进行扩展。 – 详情请参阅 官方 Cargo Book 2.2 本培训中的代码示例 在本培训中,我们将主要通过示例探索 Rust 语言,这些示例可以通过浏览器执行。这能大大简化配置过0 码力 | 359 页 | 1.33 MB | 10 月前3
Rust 程序设计语言 简体中文版 1.85.0# Windows 是 .\main.exe 如果这里的 main.rs 是上文所述的 “Hello, world!” 程序,那么在终端上就会打印出 Hello, world!。 如果你更熟悉动态语言,如 Ruby、Python 或 JavaScript,则可能不习惯将编译和运行分为两 个单独的步骤。Rust 是一种 预编译静态类型(ahead-of-time compiled)语言,这意味着你可 Cargo 只针对 src/main.rs 文件的微小修改而更新构建。依赖没有变化,所以 Cargo 知道它可以复用已经为此下载并编译的代码。 Cargo.lock 文件确保可重现构建 Cargo 有一个机制,确保无论是你还是其他人在任何时候重新构建代码,都会生成相同的构建 产物:Cargo 只会使用你指定的依赖版本,除非你明确指定其他版本。例如,如果下周 rand crate 的 0.8.6 版本出来了,该版本包含了一个重要的 这样当提供了一个不正确的索引时,就会访问无效的内存。通过立即退出而不是允许内存访问 49/562Rust 程序设计语言 简体中文版 并继续执行,Rust 让你避开此类错误。第九章会更详细地讨论 Rust 的错误处理机制,以及如 何编写可读性强而又安全的代码,使程序既不会 panic 也不会导致非法内存访问。 50/562Rust 程序设计语言 简体中文版 函数 函数在 Rust 代码中非常普遍。你已经见过语言中最重要的函数之一:main0 码力 | 562 页 | 3.23 MB | 26 天前3
Rust 程序设计语言简体中文版# Windows 是 .\main.exe 如果这里的 main.rs 是上文所述的 “Hello, world!” 程序,那么在终端上就会打印出 Hello, world! 。 如果你更熟悉动态语言,如 Ruby、Python 或 JavaScript,则可能不习惯将编译和运行分为两 个单独的步骤。Rust 是一种 预编译静态类型(ahead-of-time compiled)语言,这意味着你可 文件的微小修改而更新构建。依赖没有变化,所以 Cargo 知道它可以复用已经为此下载并编译的代码。它只是重新构建了部分(项目)代码。 Cargo.lock 文件确保构建是可重现的 Cargo 有一个机制来确保任何人在任何时候重新构建代码,都会产生相同的结果:Cargo 只会 使用你指定的依赖版本,除非你又手动指定了别的。例如,如果下周 rand crate 的 0.8.6 版 本出来了,它修复了一个重要的 安全原则的例子。在很多底层语言中,并没有进行这类检查, 这样当提供了一个不正确的索引时,就会访问无效的内存。通过立即退出而不是允许内存访问 并继续执行,Rust 让你避开此类错误。第九章会更详细地讨论 Rust 的错误处理机制,以及如 何编写可读性强而又安全的代码,使程序既不会 panic 也不会导致非法内存访问。 54/600 Rust 程序设计语言 简体中文版 3 . 3 . 函 数 函数0 码力 | 600 页 | 12.99 MB | 1 年前3
运⾏在浏览器中的 P2P ⽹络 - 李敏成⽹络 李敏成 from RingsNetwork Montivation 连接所有钱包持有者 去中⼼化的 Pure P2P ⽹络 The Idea 最好的节点载体是浏览器 ⽤户群体 钱包插件 运⾏环境 How to P2P Did: Wallet Address E2E secure(sign/encryption): Wallet Discovery and Routing for Geeks Validator MessageCallback Native Backend WASM Backend (WIP) Future Inside 运⾏时抽象 节点共识机制 ⼤规模节点集成测试 Outside 跨平台的 WASM Backend Backend 开发⽂档 Contact Us Twitter: @ringsnetworkio Email:0 码力 | 23 页 | 1.74 MB | 1 年前3
Rust 异步并发框架在移动端的应用 - 陈明煜Introduction to third party Runtime crates and their incompatibility with mobile environment Rust 异步机制 Asynchronous Rust 异步并发框架是许多大型应用、系统具备的底层能力。 区别于多线程编程模型,它带来以下优势: 任务调度颗粒度更小,充分利用线程资源 更可控的线程数 async / await Waker asyn c Future Waker poll Syntax sugar wake await Rust 异步机制 Asynchronous Rust Rust 异步机制 Asynchronous Rust Waker Task Future task Queue wake Worker Future.poll() Reactor 半和右半分别生成一个异步任务。最终对 单个数据执行用户业务逻辑 IO & CPU 融合 南向调度融合 IO & CPU 通过设置不同优先级,进 入不同线程池调度 线程池根据负载监控(任务平均等待 时间等数据)进行线程池动态扩缩 容。 任务窃取 Fusion of IO/CPU intensive 结构化并发 Structured Concurrency 核心在于通过一种父子结构化的方法实现并发程序,用具有明确入口点和出口0 码力 | 25 页 | 1.64 MB | 1 年前3
Rust API可靠性分析与验证Rust静态检查与动态检查 静态检查: • 基于所有权和生命周期的内存管理模型:内存安全 • 通过trait来确保代码符合某些规范:Send, Sync, Unpin等 动态检查: • 数组越界 • 整数溢出 • Unicode字符边界 Rust China Conf 2021 – 2022, Online, China Rust API 可靠性 现有的机制是否足够呢? • unsafe代码没有破坏内存安全性 unsafe代码没有破坏内存安全性 • no memory leakage • panic free 在任何合法使用API的情况下 • 所有静态检查提供的保证都应该被满足(不应该被unsafe所破坏) • 所有动态检查都不应该被违背(可以被安全的移除),除非panic是一种 允许的行为 Rust China Conf 2021 – 2022, Online, China 现有的可靠性分析方法及其局限性0 码力 | 13 页 | 1.68 MB | 1 年前3
共 31 条
- 1
- 2
- 3
- 4













