Hello 算法 1.2.0 简体中文 Rust 版Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我 最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接且有效。然而刷题就如同玩“扫雷”游戏,自学能力 强的人能够顺利将地雷逐个排掉,而基础不足的人很可能被炸得满头是包,并在挫折中步步退缩。通读教材 也是一种常见做法,但对于面向求职的人来说,毕业论文 分精 力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 ,可以通过以下命令克隆本仓库: git clone https://github.com/krahets/hello-algo.git 当然,你也可以在图 0‑4 所示的位置,点击“Download ZIP”按钮直接下载代码压缩包,然后在本地解压即 可。 第 0 章 前言 www.hello‑algo.com 7 图 0‑4 克隆仓库与下载代码 第三步:运行源代码。如图 0‑5 所示,对于顶部标有文件名称的代码块,我们可以在仓库的0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.1.0 Rust版Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我 最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接且有效。然而刷题就如同玩“扫雷”游戏,自学能力 强的人能够顺利将地雷逐个排掉,而基础不足的人很可能被炸得满头是包,并在挫折中步步退缩。通读教材 也是一种常见做法,但对于面向求职的人来说,毕业论文 分精 力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 ,可以通过以下命令克隆本仓库: git clone https://github.com/krahets/hello-algo.git 当然,你也可以在图 0‑4 所示的位置,点击“Download ZIP”按钮直接下载代码压缩包,然后在本地解压即 可。 第 0 章 前言 hello‑algo.com 7 图 0‑4 克隆仓库与下载代码 第三步:运行源代码。如图 0‑5 所示,对于顶部标有文件名称的代码块,我们可以在仓库的0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.0.0 Rust版Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我 最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接且有效。然而刷题就如同玩“扫雷”游戏,自学能力 强的人能够顺利将地雷逐个排掉,而基础不足的人很可能被炸得满头是包,并在挫折中步步退缩。通读教材 也是一种常见做法,但对于面向求职的人来说,毕业论文 分精 力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 ,可以通过以下命令克隆本仓库: git clone https://github.com/krahets/hello-algo.git 当然,你也可以在图 0‑4 所示的位置,点击“Download ZIP”按钮直接下载代码压缩包,然后在本地解压即 可。 第 0 章 前言 hello‑algo.com 7 图 0‑4 克隆仓库与下载代码 第三步:运行源代码。如图 0‑5 所示,对于顶部标有文件名称的代码块,我们可以在仓库的0 码力 | 383 页 | 17.61 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 Rust 版Offer”系列題解,受到了許多讀者的鼓勵與支持。在與讀者交流期間,我 最常被問到的一個問題是“如何入門演算法”。漸漸地,我對這個問題產生了濃厚的興趣。 兩眼一抹黑地刷題似乎是最受歡迎的方法,簡單、直接且有效。然而刷題就如同玩“踩地雷”遊戲,自學能 力強的人能夠順利將地雷逐個排掉,而基礎不足的人很可能被炸得焦頭爛額,並在挫折中步步退縮。通讀教 材也是一種常見做法,但對於面向求職的人來說,畢業論 分 精力,啃厚重的書往往變成了一項艱鉅的挑戰。 如果你也面臨類似的困擾,那麼很幸運這本書“找”到了你。本書是我對這個問題給出的答案,即使不是最 佳解,也至少是一種積極的嘗試。本書雖然不足以讓你直接拿到 Offer,但會引導你探索資料結構與演算法 的“知識地圖”,帶你了解不同“地雷”的形狀、大小與分布位置,讓你掌握各種“排雷方法”。有了這些本 領,相信你可以更加自如地刷題與閱讀文獻,逐步構建起完整的知識體系。 ,可以透過以下命令克隆本倉庫: git clone https://github.com/krahets/hello-algo.git 當然,你也可以在圖 0‑4 所示的位置,點選“Download ZIP”按鈕直接下載程式碼壓縮包,然後在本地解壓 即可。 第 0 章 前言 www.hello‑algo.com 7 圖 0‑4 克隆倉庫與下載程式碼 第三步:執行源程式碼。如圖 0‑5 所示,對於頂部標有檔案名稱的程式碼塊,我們可以在倉庫的0 码力 | 388 页 | 18.82 MB | 10 月前3
Rust 语言学习笔记src/bin/base_language_demo.rs 作为 bin crate 的编译入口。 [[bin]] name = “src/bin_build_demo/bin_test.rs” 非常清晰地指明了文件名,直接以 src/bin_build_demo/bin_test.rs 作为编译 入口。 1.1.1 Cargo rust 官方参考了现有语言管理工具的优点,于是就产生了 cargo。主要是为了 减少复杂的项目管理配置参数。cargo 特有的项目数据描述文件,对于猿们而言,cargo.toml 文 件存储了项目的所有信息,它直接面向 rustacean,如果想让自己的 rust 项目 能够按照期望的方式进行构建、测试和运行,那么,必须按照合理的方式构建 'cargo.toml'。 而 cargo.lock 文件则不直接面向开发者,也不需要直接去修改这个文件。lock 文件是 cargo 工具根据同一项目的 toml 文件生成的项目依赖详细清单文件。 Rust 的模块支持层级结构,但这种层级结构本身与文件系统目录的层级结构是 解耦的。 mod xxx; 这个 xxx 不能包含::号。也即在这个表达形式中,是没法引用多层结 构下的模块的。也即,你不可能直接使用 mod a::b::c::d;的形式来引用 a/b/c/d.rs 这个模块。 换句话说,必须依靠 rust 的默认约定去由开发去建立层级关系。rust 的层级 关系是我们自己依靠默认规则自己定义出来的!0 码力 | 117 页 | 2.24 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0践一下,第二章是开始的好地方。第三章介绍 Rust 中类似其他编程语言的特性,第四章会学 习 Rust 的所有权系统。如果你是一个特别细致的学习者,喜欢在进入下一环节之前学习每一 个细节,你可能会想要跳过第二章,直接阅读第三章,等到你想要通过项目应用所学到的细节 时再回到第二章。 第五章讨论结构体(struct)和方法,第六章介绍枚举(enum)、match 表达式和 if let 控 制流结构。在 Rust 更方 便,所以大多数开发者会选择 cargo run。 注意这一次并没有出现表明 Cargo 正在编译 hello_cargo 的输出。Cargo 发现文件并没有被 改变,所以它并没有重新构建,而是直接运行了二进制文件。如果修改了源文件的话,Cargo 会在运行之前重新构建项目,并会出现像这样的输出: $ cargo run Compiling hello_cargo v0.1.0 (fi 的信息,请查阅 其文档。 总结 你已经准备好开启 Rust 之旅了!在本章中,你学习了如何: • 使用 rustup 安装最新稳定版的 Rust • 更新到新版的 Rust • 打开本地安装的文档 • 直接通过 rustc 编写并运行 Hello, world! 程序 • 使用 Cargo 创建并运行新项目 是时候通过构建更实质性的程序来熟悉读写 Rust 代码了。所以在第二章我们会构建一个猜数 字游戏程序。如果你更愿意从学习0 码力 | 562 页 | 3.23 MB | 1 月前3
Rust 程序设计语言简体中文版章是开始的好地方。第 3 章介绍 Rust 中类似其他编程语言的特性,第 4 章 会学习 Rust 的所有权系统。如果你是一个特别细致的学习者,喜欢在进入下一环节之前学习 每一个细节,你可能会想要跳过第 2 章,直接阅读第 3 章,等到你想要通过项目应用所学到的 细节时再回到第 2 章。 第 5 章讨论结构体(struct)和方法,第 6 章介绍枚举(enum)、match 表达式和 if let 控 制流结构。在 可以实现完全相同的效果,而且要方便得多,所以大多数开发者会使用 cargo run 。 注意这一次并没有出现表明 Cargo 正在编译 hello_cargo 的输出。Cargo 发现文件并没有被 改变,所以它并没有重新编译,而是直接运行了可执行文件。如果修改了源文件的话,Cargo 会在运行之前重新构建项目,并会出现像这样的输出: $ cargo run Compiling hello_cargo v0.1.0 (fi 的信息,请查阅 其文档。 总结 你已经准备好开启 Rust 之旅了!在本章中,你学习了如何: • 使用 rustup 安装最新稳定版的 Rust • 更新到新版的 Rust • 打开本地安装的文档 • 直接通过 rustc 编写并运行 Hello, world! 程序 • 使用 Cargo 创建并运行新项目 是时候通过构建更实质性的程序来熟悉读写 Rust 代码了。所以在第二章我们会构建一个猜猜 看游戏程序。如果你更愿意从学习0 码力 | 600 页 | 12.99 MB | 1 年前3
Comprehensive Rust(繁体中文)async/await 並行 (使用 future 進行合作多工處理)。 非課程目標 Rust 是大型的程式語言,無法在幾天內就介紹完畢。因此,本課程不包含下列內容: • 學習如何開發巨集 (macro)。請直接閱讀 Rust Book 的 Chapter 19.5 和 Rust by Example. 課程要求 本課程假設您已瞭解如何設計程式。Rust 是一種靜態的程式設計類型,我們有時會將其與 C 和 提問,講師也有時間可以回答問題。請確認上課場地有_書桌_,可供講師和學員使用:您們都會需要 能坐著使用筆電。講師尤其會需要現場編寫許多程式碼,因此使用講台可能會造成不便。 4. 在講課當天提早到上課場地完成設定。建議您直接在筆電上執行 mdbook serve 分享螢幕畫面 (請參閱安裝操作說明)。這可確保提供最佳效能,不會在您切換頁面時發生延遲。使用筆電也可讓您 修正自己或課程參與者發現的錯字。 5. 讓學員獨自 為避免破壞程式碼,版本皆為自行選擇採用:您可以透過 Cargo.toml 檔案選擇所需版本。 – 為避免分割生態系統,Rust 編譯器可混合寫給不同版本的程式碼。 – 請說明很少會略過 cargo 直接使用編譯器,大部分使用者都不會這麼做。 – It might be worth alluding that Cargo itself is an extremely powerful and comprehensive0 码力 | 358 页 | 1.41 MB | 11 月前3
Comprehensive Rust(繁体中文) 202406async/await 並行 (使用 future 進行合作多工處理)。 非課程目標 Rust 是大型的程式語言,無法在幾天內就介紹完畢。因此,本課程不包含下列內容: • 學習如何開發巨集 (macro)。請直接閱讀 Rust Book 的 Chapter 19.5 和 Rust by Example. 課程要求 本課程假設您已瞭解如何設計程式。Rust 是一種靜態的程式設計類型,我們有時會將其與 C 和 提問,講師也有時間可以回答問題。請確認上課場地有_書桌_,可供講師和學員使用:您們都會需要 能坐著使用筆電。講師尤其會需要現場編寫許多程式碼,因此使用講台可能會造成不便。 4. 在講課當天提早到上課場地完成設定。建議您直接在筆電上執行 mdbook serve 分享螢幕畫面 (請參閱安裝操作說明)。這可確保提供最佳效能,不會在您切換頁面時發生延遲。使用筆電也可讓您 修正自己或課程參與者發現的錯字。 5. 讓學員獨自 為避免破壞程式碼,版本皆為自行選擇採用:您可以透過 Cargo.toml 檔案選擇所需版本。 – 為避免分割生態系統,Rust 編譯器可混合寫給不同版本的程式碼。 – 請說明很少會略過 cargo 直接使用編譯器,大部分使用者都不會這麼做。 – It might be worth alluding that Cargo itself is an extremely powerful and comprehensive0 码力 | 356 页 | 1.41 MB | 1 年前3
Comprehensive Rust(简体中文) 202412更轻松地提问,也可以让仅有一位的讲师有足够时间回答问题。确保教室里有讲师和学生用的桌子, 并能够坐下来使用笔记本电脑。特别地,讲师需要进行大量的现场编码工作,因此讲台是不需要的。 4. 课程当天,请提早到教室进行准备。建议直接在笔记本电脑上运行 mdbook serve 来演示课程内 容(请参阅安装说明)。这样可以确保在更换页面时不会出现延迟,演示效果更好。使用笔记本运行还 可以在发现错别字时及时更正。 5. 让学员自 为防止破坏代码,版本是可选的:通过 Cargo.toml 文件为 crate 选择合适的版本。 – 为免分割生态系统,Rust 编译器可以混合使用为不同版本编写的代码。 – 请注意,不借助 cargo 直接使用编译器的情况相当少见(大多数用户从不这样做)。 – 值得一提的是,Cargo 本身就是一个功能强大且全面的工具。它能够实现许多高级功能,包括 但不限于: * 项目/软件包结构 * 工作区 * else expressions 如需了解匹配模式并从函数返回的常见情况,请使用 let else。”else” 分支必须执行不同的结束方式 (例如,return、break 或 panic,但不能直接执行到代码块的末尾)。 fn hex_or_die_trying(maybe_string: Option) -> Result { let s = if 0 码力 | 359 页 | 1.33 MB | 11 月前3
共 25 条
- 1
- 2
- 3













