Hello 算法 1.1.0 Rust版们将竭诚 为你解答,一般情况下可在两天内回复。 如图 0‑7 所示,网页版每个章节的底部都配有评论区。希望你能多关注评论区的内容。一方面,你可以了解 大家遇到的问题,从而查漏补缺,激发更深入的思考。另一方面,期待你能慷慨地回答其他小伙伴的问题,分 享你的见解,帮助他人进步。 图 0‑7 评论区示例 0.2.5 算法学习路线 从总体上看,我们可以将学习数据结构与算法的过程划分为三个阶段。 编程语言的排序 库函数中都有插入排序的身影。 例三:货币找零。假设我们在超市购买了 69 元的商品,给了收银员 100 元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 31 元面值更小的货币,包括 1 元、5 元、10 元、20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 1); // 归:返回结果 n + res } 图 2‑3 展示了该函数的递归过程。 图 2‑3 求和函数的递归过程 虽然从计算角度看,迭代与递归可以得到相同的结果,但它们代表了两种完全不同的思考和解决问题的范 式。 ‧ 迭代:“自下而上”地解决问题。从最基础的步骤开始,然后不断重复或累加这些步骤,直到任务完成。 ‧ 递归:“自上而下”地解决问题。将原问题分解为更小的子问题,这些子问题和原问题具有相同的形式。0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版们将竭诚 为你解答,一般情况下可在两天内回复。 如图 0‑7 所示,网页版每个章节的底部都配有评论区。希望你能多关注评论区的内容。一方面,你可以了解 大家遇到的问题,从而查漏补缺,激发更深入的思考。另一方面,期待你能慷慨地回答其他小伙伴的问题,分 享你的见解,帮助他人进步。 图 0‑7 评论区示例 0.2.5 算法学习路线 从总体上看,我们可以将学习数据结构与算法的过程划分为三个阶段。 编程语言的排序 库函数中都有插入排序的身影。 例三:货币找零。假设我们在超市购买了 69 元的商品,给了收银员 100 元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 31 元面值更小的货币,包括 1 元、5 元、10 元、20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 1); // 归:返回结果 n + res } 图 2‑3 展示了该函数的递归过程。 图 2‑3 求和函数的递归过程 虽然从计算角度看,迭代与递归可以得到相同的结果,但它们代表了两种完全不同的思考和解决问题的范 式。 ‧ 迭代:“自下而上”地解决问题。从最基础的步骤开始,然后不断重复或累加这些步骤,直到任务完成。 ‧ 递归:“自上而下”地解决问题。将原问题分解为更小的子问题,这些子问题和原问题具有相同的形式。0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.0.0 Rust版们将竭诚 为你解答,一般情况下可在两天内回复。 如图 0‑7 所示,网页版每个章节的底部都配有评论区。希望你能多关注评论区的内容。一方面,你可以了解 大家遇到的问题,从而查漏补缺,激发更深入的思考。另一方面,期待你能慷慨地回答其他小伙伴的问题,分 享你的见解,帮助他人进步。 图 0‑7 评论区示例 0.2.5 算法学习路线 从总体上看,我们可以将学习数据结构与算法的过程划分为三个阶段。 编程语言的排序 库函数中都有插入排序的身影。 例三:货币找零。假设我们在超市购买了 69 元的商品,给了收银员 100 元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 31 元面值更小的货币,包括 1 元、5 元、10 元、20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 1); // 归:返回结果 n + res } 图 2‑3 展示了该函数的递归过程。 图 2‑3 求和函数的递归过程 虽然从计算角度看,迭代与递归可以得到相同的结果,但它们代表了两种完全不同的思考和解决问题的范 式。 ‧ 迭代:“自下而上”地解决问题。从最基础的步骤开始,然后不断重复或累加这些步骤,直到任务完成。 ‧ 递归:“自上而下”地解决问题。将原问题分解为更小的子问题,这些子问题和原问题具有相同的形式。0 码力 | 383 页 | 17.61 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 Rust 版們將竭誠 為你解答,一般情況下可在兩天內回覆。 如圖 0‑7 所示,網頁版每個章節的底部都配有評論區。希望你能多關注評論區的內容。一方面,你可以瞭解 大家遇到的問題,從而查漏補缺,激發更深入的思考。另一方面,期待你能慷慨地回答其他小夥伴的問題,分 享你的見解,幫助他人進步。 圖 0‑7 評論區示例 0.2.5 演算法學習路線 從總體上看,我們可以將學習資料結構與演算法的過程劃分為三個階段。 程式語言的排 序庫函式中都有插入排序的身影。 例三:貨幣找零。假設我們在超市購買了 69 元的商品,給了收銀員 100 元,則收銀員需要找我們 31 元。他 會很自然地完成如圖 1‑3 所示的思考。 1. 可選項是比 31 元面值更小的貨幣,包括 1 元、5 元、10 元、20 元。 2. 從可選項中拿出最大的 20 元,剩餘 31 − 20 = 11 元。 3. 從剩餘可選項中拿出最大的 1); // 迴:返回結果 n + res } 圖 2‑3 展示了該函式的遞迴過程。 圖 2‑3 求和函式的遞迴過程 雖然從計算角度看,迭代與遞迴可以得到相同的結果,但它們代表了兩種完全不同的思考和解決問題的範 式。 ‧ 迭代:“自下而上”地解決問題。從最基礎的步驟開始,然後不斷重複或累加這些步驟,直到任務完成。 ‧ 遞迴:“自上而下”地解決問題。將原問題分解為更小的子問題,這些子問題和原問題具有相同的形式。0 码力 | 388 页 | 18.82 MB | 10 月前3
Rust HTTP 协议栈在终端通信场景的实践 - 胡凯胡凯 hukai45@huawei.com 华为 公共开发部 嵌入式软件能力中心 什么是 HTTP 协议? ⚫ HTTP 协议介绍 目录 终端场景下 HTTP 协议的主要使用场景,以及需要思考的问题。 ⚫ 终端 HTTP 通信场景浅析 我们当前结合 Rust 和终端通信场景的实践的简单介绍。 ⚫ Rust 与终端 HTTP 通信场景结合 介绍 Rust 与 HTTP 协议栈结合的业界实现。 不太需要体现交互界面 ➢ 不太关注资源使用 比较适合构建浏览器、大型 WEB 服务器等。 终端 HTTP 通信场景浅析 Part 03 探讨终端场景下 HTTP 协议的主要使用场景,以及需要思考的问题 Rust China Conf 2022 – 2023, Shanghai, China Rust China Conf 2022 – 2023, Shanghai, China 终端0 码力 | 26 页 | 1.25 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0总而言之,字符串还是很复杂的。不同的语言选择了不同的向程序员展示其复杂性的方式。 Rust 选择了以准确的方式处理 String 数据作为所有 Rust 程序的默认行为,这意味着程序员 们必须更多的思考如何预先处理 UTF-8 数据。这种权衡相比其他语言更多地暴露出了字符串的 复杂性,不过也使你在开发周期后期免于处理涉及非 ASCII 字符的错误。 好消息是标准库提供了很多围绕 String 和 这个字符串的文本被直接储存在程序的二进制文件中而这个文件总是可用的。因此所有的字符 串字面值都是 'static 的。 你可能在错误信息的帮助文本中见过使用 'static 生命周期的建议,不过将引用指定为 'static 之前,思考一下这个引用是否真的在整个程序的生命周期里都有效,以及你是否希望 它存在得这么久。大部分情况中,推荐 'static 生命周期的错误信息都是尝试创建一个悬垂引 用或者可用的生命周期不匹配的结果。在这 leaf.parent 将会指向 branch 而 branch.children 会包含 leaf 的指针,这会形成引用循环,会造成其 strong_count 永远也不会为 0。 现在换一种方式思考这个关系,父节点应该拥有其子节点:如果父节点被丢弃了,其子节点也 应该被丢弃。然而子节点不应该拥有其父节点:如果丢弃子节点,其父节点应该依然存在。这 正是弱引用的例子! 所以 parent 使用 Weak0 码力 | 562 页 | 3.23 MB | 26 天前3
Comprehensive Rust(繁体中文)符合 B 的任 何型別,而呼叫端可能需要選擇一個型別,例如使用 let x: Vec<_> = foo.collect() 或 Turbofish:foo.collect::>()。 思考一下,debuggable 的型別為何?您可以嘗試使用 let debuggable: () = .. 查看錯誤訊 息顯示的內容。 14.5 練習:泛型 min 在這個簡短練習中,您將使用 LessThan (提示:您需要 Box)。 • 在 C++ 型別上宣告一些方法,然後從 Rust 呼叫。 • 在 Rust 型別上宣告一些方法,然後從 C++ 呼叫。 第三部分 現在您已瞭解 CXX 互通性的優勢和限制,不妨思考一些 Chromium 中介面相當簡單的 Rust 用途。草擬 定義該介面的方式。 如何找到說明 • cxx 繫結參照 • rust_static_library gn 範本 您可能會遇到以下問題: 同時,我們會針對每個新增的 Crate 檢查以下項目: • 瞭解使用各個 Crate 的原因。Crate 之間的關係為何?如果每個 Crate 的建構系統都包含 build.rs 或程序巨集,請思考 Crate 的用途。這些 Crate 是否與 Chromium 平常的建構方 式相容? • 檢查每個 Crate 的維護情況是否合理良好 • 使用 cd third-party/rust/chromium_crates_io; 0 码力 | 358 页 | 1.41 MB | 10 月前3
Comprehensive Rust(繁体中文) 202406符合 B 的任 何型別,而呼叫端可能需要選擇一個型別,例如使用 let x: Vec<_> = foo.collect() 或 Turbofish:foo.collect::>()。 思考一下,debuggable 的型別為何?您可以嘗試使用 let debuggable: () = .. 查看錯誤訊 息顯示的內容。 14.5 練習:泛型 min 在這個簡短練習中,您將使用 LessThan (提示:您需要 Box)。 • 在 C++ 型別上宣告一些方法,然後從 Rust 呼叫。 • 在 Rust 型別上宣告一些方法,然後從 C++ 呼叫。 第三部分 現在您已瞭解 CXX 互通性的優勢和限制,不妨思考一些 Chromium 中介面相當簡單的 Rust 用途。草擬 定義該介面的方式。 如何找到說明 • cxx 繫結參照 • rust_static_library gn 範本 您可能會遇到以下問題: 同時,我們會針對每個新增的 Crate 檢查以下項目: • 瞭解使用各個 Crate 的原因。Crate 之間的關係為何?如果每個 Crate 的建構系統都包含 build.rs 或程序巨集,請思考 Crate 的用途。這些 Crate 是否與 Chromium 平常的建構方 式相容? • 檢查每個 Crate 的維護情況是否合理良好 • 使用 cd third-party/rust/chromium_crates_io; 0 码力 | 356 页 | 1.41 MB | 1 年前3
Comprehensive Rust(简体中文) 202412part of the Rust ecosystem and you should keep it in your toolbox. Mini exercise 分成各个小组开展以下活动: • 思考 cargo 在哪些场景下具有优势,并评估这些场景的风险状况。 • 讨论在使用 gn 和 ninja 以及离线 cargo 等时,需要信任哪些工具、库和人群。 Ask students to avoid Box)。 • 声明调用某个 C++ 类型的方法。从 Rust 调用它们。 • 声明调用某个 Rust 类型的方法。从 C++ 调用它们。 第三部分 现在,您已经了解了 CXX 互操作性的优势和局限,请思考几个 Rust 在 Chromium 中的应用场景,其中 接口要足够简单构思该如何定义该接口。 如何获取帮助 • The cxx binding reference • rust_static_library 五位哲学家在同一桌子上用餐。每位哲学家在桌前都有自己的座位。每个盘子之间都有一把 叉子。上的菜品是一种意大利面,需要用两把叉子才能吃。每位哲学家只能交替进行思考和用 餐。此外,只有当哲学家们同时拿到左边和右边的叉子才能吃这个意大利面。因此,只有当两 旁坐着的人在思考,而非在吃面时,他们才能使用两把叉子。每位哲学家吃完饭后,就会放下 手中的两把叉子。 在本练习中,需要使用本地 Cargo 安装。将以下代码复制到名为0 码力 | 359 页 | 1.33 MB | 10 月前3
硬件创业公司的Rust应用和转型 - 陈昱衡RISCV学习套件 人才培养方案 鹿仔科技东莞研发中心现为 东莞理工学院校外实训基地 并将Rust列入培养方案中 希望以此培养更多Rust嵌入式 人才 预计明年开放嵌入式Rust的HC 一些思考 评估Rust改造是否对公司产生较大影响 现阶段是否真需要 鹿仔——助力生命科学探索 陈昱衡 E-mail: chenyuheng@deer-tech.cn 谢谢聆听0 码力 | 23 页 | 4.95 MB | 1 年前3
共 14 条
- 1
- 2













