Hello 算法 1.0.0 Rust版在本书的创作过程中,我得到了许多人的帮助。 ‧ 感谢我在公司的导师李汐博士,在一次畅谈中你鼓励我“快行动起来”,坚定了我写这本书的决心; ‧ 感谢我的女朋友泡泡作为本书的首位读者,从算法小白的角度提出许多宝贵建议,使得本书更适合新 手阅读; ‧ 感谢腾宝、琦宝、飞宝为本书起了一个富有创意的名字,唤起大家写下第一行代码“Hello World!”的 美好回忆; ‧ 感谢校铨在知识产权方 不断重复步骤 1. 和 步骤 2. ,直至找到拼音首字母为 ? 的页码为止。 图 1‑1 查字典步骤 查字典这个小学生必备技能,实际上就是著名的“二分查找”算法。从数据结构的角度,我们可以把字典视 为一个已排序的“数组”;从算法的角度,我们可以将上述查字典的一系列操作看作“二分查找”。 例二:整理扑克。我们在打牌时,每局都需要整理手中的扑克牌,使其从小到大排列,实现流程如图 1‑2 所 示。 第 初识算法 hello‑algo.com 13 图 1‑3 货币找零过程 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能用大面额的货币),最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使得我们能够通过编程 将数据结构存储在内存中,同时编写代码调用 CPU 和 GPU0 码力 | 383 页 | 17.61 MB | 1 年前3
Hello 算法 1.1.0 Rust版在本书的创作过程中,我得到了许多人的帮助。 ‧ 感谢我在公司的导师李汐博士,在一次畅谈中你鼓励我“快行动起来”,坚定了我写这本书的决心; ‧ 感谢我的女朋友泡泡作为本书的首位读者,从算法小白的角度提出许多宝贵建议,使得本书更适合新 手阅读; ‧ 感谢腾宝、琦宝、飞宝为本书起了一个富有创意的名字,唤起大家写下第一行代码“Hello World!”的 美好回忆; ‧ 感谢校铨在知识产权方 不断重复步骤 1. 和 步骤 2. ,直至找到拼音首字母为 ? 的页码为止。 图 1‑1 查字典步骤 查字典这个小学生必备技能,实际上就是著名的“二分查找”算法。从数据结构的角度,我们可以把字典视 为一个已排序的“数组”;从算法的角度,我们可以将上述查字典的一系列操作看作“二分查找”。 例二:整理扑克。我们在打牌时,每局都需要整理手中的扑克牌,使其从小到大排列,实现流程如图 1‑2 所 示。 第 初识算法 hello‑algo.com 13 图 1‑3 货币找零过程 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能用大面额的货币),最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使得我们能够通过编程 将数据结构存储在内存中,同时编写代码调用 CPU 和 GPU0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版在本书的创作过程中,我得到了许多人的帮助。 ‧ 感谢我在公司的导师李汐博士,在一次畅谈中你鼓励我“快行动起来”,坚定了我写这本书的决心; ‧ 感谢我的女朋友泡泡作为本书的首位读者,从算法小白的角度提出许多宝贵建议,使得本书更适合新 手阅读; ‧ 感谢腾宝、琦宝、飞宝为本书起了一个富有创意的名字,唤起大家写下第一行代码“Hello World!”的 美好回忆; ‧ 感谢校铨在知识产权方 不断重复步骤 1. 和步骤 2. ,直至找到拼音首字母为 ? 的页码为止。 图 1‑1 查字典步骤 查字典这个小学生必备技能,实际上就是著名的“二分查找”算法。从数据结构的角度,我们可以把字典视 为一个已排序的“数组”;从算法的角度,我们可以将上述查字典的一系列操作看作“二分查找”。 例二:整理扑克。我们在打牌时,每局都需要整理手中的扑克牌,使其从小到大排列,实现流程如图 1‑2 所 示。 第 初识算法 www.hello‑algo.com 13 图 1‑3 货币找零过程 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能用大面额的货币),最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使得我们能够通过编程 将数据结构存储在内存中,同时编写代码调用 CPU 和 GPU0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Rust 版在本書的創作過程中,我得到了許多人的幫助。 ‧ 感謝我在公司的導師李汐博士,在一次暢談中你鼓勵我“快行動起來”,堅定了我寫這本書的決心; ‧ 感謝我的女朋友泡泡作為本書的首位讀者,從演算法小白的角度提出許多寶貴建議,使得本書更適合 新手閱讀; ‧ 感謝騰寶、琦寶、飛寶為本書起了一個富有創意的名字,喚起大家寫下第一行程式碼“Hello World!” 的美好回憶; ‧ 感謝校銓在智慧財產 不斷重複步驟 1. 和步驟 2. ,直至找到拼音首字母為 ? 的頁碼為止。 圖 1‑1 查字典步驟 查字典這個小學生必備技能,實際上就是著名的“二分搜尋”演算法。從資料結構的角度,我們可以把字典 視為一個已排序的“陣列”;從演算法的角度,我們可以將上述查字典的一系列操作看作“二分搜尋”。 例二:整理撲克。我們在打牌時,每局都需要整理手中的撲克牌,使其從小到大排列,實現流程如圖 1‑2 所 示。 第 www.hello‑algo.com 13 圖 1‑3 貨幣找零過程 在以上步驟中,我們每一步都採取當前看來最好的選擇(儘可能用大面額的貨幣),最終得到了可行的找零方 案。從資料結構與演算法的角度看,這種方法本質上是“貪婪”演算法。 小到烹飪一道菜,大到星際航行,幾乎所有問題的解決都離不開演算法。計算機的出現使得我們能夠透過程 式設計將資料結構儲存在記憶體中,同時編寫程式碼呼叫 CPU 和0 码力 | 388 页 | 18.82 MB | 10 月前3
Rust 程序设计语言简体中文版赋能(empowerment):无论你现在编写的是何种代码, Rust 能让你在更为广泛的编程领域走得更远,写出自信。(这一点并不显而易见) 举例来说,那些“系统层面”的工作涉及内存管理、数据表示和并发等底层细节。从传统角度来 看,这是一个神秘的编程领域,只为浸润多年的极少数人所触及,也只有他们能避开那些臭名 昭著的陷阱。即使谨慎的实践者,亦唯恐代码出现漏洞、崩溃或损坏。 Rust 破除了这些障碍:它消除了旧的陷阱, collector,GC)的语言中, GC 记录并清除不再使用的内存,而我们并不需要关心它。在大部分没有 GC 的语言中,识别 出不再使用的内存并调用代码显式释放就是我们的责任了,跟请求内存的时候一样。从历史的 角度上说正确处理内存回收曾经是一个困难的编程问题。如果忘记回收了会浪费内存。如果过 早回收了,将会出现无效变量。如果重复回收,这也是个 bug。我们需要精确的为一个 allocate 配对一个 free 广泛因为它编码了一个非常普遍的场景,即一个值要么有值要么没值。 127/600 Rust 程序设计语言 简体中文版 例如,如果请求一个非空列表的第一项,会得到一个值,如果请求一个空的列表,就什么也不 会得到。从类型系统的角度来表达这个概念就意味着编译器需要检查是否处理了所有应该处理 的情况,这样就可以避免在其他编程语言中非常常见的 bug。 编程语言的设计经常要考虑包含哪些功能,但考虑排除哪些功能也很重要。Rust 并没有很多0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0赋能(empowerment):无论你现在编写的是何种代码, Rust 能让你在更为广泛的编程领域走得更远,写出自信。(这一点并不显而易见) 举例来说,那些“系统层面”的工作涉及内存管理、数据表示和并发等底层细节。从传统角度来 看,这是一个神秘的编程领域,只为浸润多年的极少数人所触及,也只有他们能避开那些臭名 昭著的陷阱。即使谨慎的实践者,亦唯恐代码出现漏洞、崩溃或损坏。 Rust 破除了这些障碍:它消除了旧的陷阱, collector,GC)的语言中, GC 记录并清除不再使用的内存,而我们并不需要关心它。在大部分没有 GC 的语言中,识别 出不再使用的内存并调用代码显式释放就是我们的责任了,跟请求内存的时候一样。从历史的 角度上说正确处理内存回收曾经是一个困难的编程问题。如果忘记回收了会浪费内存。如果过 70/562Rust 程序设计语言 简体中文版 早回收了,将会出现无效变量。如果重复回收,这也是个 bug。我们需要精确的为一个 是标准库定义的另一个枚举。Option 类型应用广 泛因为它编码了一个非常普遍的场景,即一个值要么有值要么没值。 例如,如果请求一个非空列表的第一项,会得到一个值,如果请求一个空的列表,就什么也不 会得到。从类型系统的角度来表达这个概念就意味着编译器需要检查是否处理了所有应该处理 的情况,这样就可以避免在其他编程语言中非常常见的 bug。 编程语言的设计经常要考虑包含哪些功能,但考虑排除哪些功能也很重要。Rust 并没有很多0 码力 | 562 页 | 3.23 MB | 1 月前3
硬件创业公司的Rust应用和转型 - 陈昱衡嵌入式端Rust UI方面的Rust应用 0 1 2 公司Rust人才培养 3 Rust在嵌入式公司应用的想法 4 为什么选择Rust Rust的选择 小动物跑步机 通过调节跑步机的速度和倾斜角度,可以模拟小动物在不 同强度和方向下的运动情况,进而研究其对心血管、代谢和 神经等方面的影响。 包含机体自带屏幕和远程桌面控制 内存泄漏导致 数据记录错误 出货前夕 鹿仔远程控制终端 Rust的选择0 码力 | 23 页 | 4.95 MB | 1 年前3
Rust HTTP 协议栈在终端通信场景的实践 - 胡凯流量限制:移动端网络流量受到用户的限制。 ➢ 设备资源有限:移动端设备CPU、内存等资源较少。 Rust China Conf 2022 – 2023, Shanghai, China 终端 HTTP 协议场景浅析 从用户使用的角度出发: ➢ 下载进度:对于一些涉及上传或下载的应用软件,进度显示能够给用户及时性的反馈。 ➢ 速度和流量限制:受到资费和网络状况的影响,传输速度和流量需要提供给用户设置。 ➢ 暂停和重试:网络0 码力 | 26 页 | 1.25 MB | 1 年前3
Comprehensive Rust(繁体中文)也是類似的概念,但仍是基於回呼函數。JavaScript 的語言執行環境實 作了事件迴圈(event loop),所以隱藏了很多關於 Promise 的處理細節。 63.1 async/await 從高層次的角度來看,非同步的 Rust 程式碼看起來很像「一般的」同步程式碼: use futures::executor::block_on; async fn count_to(count: i32) { 以下精選一些 Rust 的其他指南和教學課程: • Learn Rust the Dangerous Way:以低階 C 程式設計師的角度介紹 Rust。 • Rust for Embedded C Programmers:從以 C 語言編寫韌體的開發人員角度介紹 Rust。 • Rust for professionals:利用與其他語言 (例如 C、C++、Java、JavaScript 和0 码力 | 358 页 | 1.41 MB | 10 月前3
Comprehensive Rust(繁体中文) 202406也是類似的概念,但仍是基於回呼函數。JavaScript 的語言執行環境實 作了事件迴圈(event loop),所以隱藏了很多關於 Promise 的處理細節。 63.1 async/await 從高層次的角度來看,非同步的 Rust 程式碼看起來很像「一般的」同步程式碼: use futures::executor::block_on; async fn count_to(count: i32) { 以下精選一些 Rust 的其他指南和教學課程: • Learn Rust the Dangerous Way:以低階 C 程式設計師的角度介紹 Rust。 • Rust for Embedded C Programmers:從以 C 語言編寫韌體的開發人員角度介紹 Rust。 • Rust for professionals:利用與其他語言 (例如 C、C++、Java、JavaScript 和0 码力 | 356 页 | 1.41 MB | 1 年前3
共 12 条
- 1
- 2













