Comprehensive Rust(日语) 202412てください。複数の受講者が同じ問題で詰まっている場合、クラス全体に対してそれを共有し、解 決策を提供してください。例えば、探している情報が標準ライブラリのどこにあるかを示す、な ど。 以上です。運営頑張ってください!皆さんにとっても楽しい時間になりますように! 本講座の改善に向けてフィードバックをお願いします。うまくいった点や改善点について幅広くご意 見お聞かせください。受講者からのフィードバックも歓迎しております! 開発用とランタイム用の依存関係管理・キャッシュ * build scripting(ビルドスクリプト) * global installation * cargo clippy などのサブコマンドプラグインによる拡張 – 詳細は official Cargo Book を参照してください。 2.2 講座のサンプルコード 本講座は、主にブラウザ内で実行可能な例を使います。こうする事で、セットアップが容易になり、一貫 - - -' `- - - - - - - - - - - - - - - -' • String は Vec により実現されているため、容量と長さがあり、可変であればヒープ上の再割り 当てによって拡張できることを説明します。 • 受講者から尋ねられた場合は、システムアロケータを使用してメモリ領域がヒープから割り当 てられること、Allocator API を使用してカスタム アロケータを実装できることを説明してく0 码力 | 381 页 | 1.36 MB | 10 月前3
Comprehensive Rust(繁体中文)區塊會用大括號分隔,這跟在 C 和 C++ 一樣。 • main 函式是程式的進入點。 • Rust 含有衛生巨集,例如 println!。 • Rust 字串採用 UTF-8 編碼,可包含任何萬國碼字元。 我們會藉由這張投影片,試著讓學生熟悉 Rust 程式碼。在接下來的四天裡,他們會大量接觸到這些內容, 所以我們得從他們熟悉的小地方著手。 重要須知: • Rust 與 C/C++/Java 傳統中的其他語言非常 sentence: {}", sentence); println!("{:?}", &sentence[0..5]); //println!("{:?}", &sentence[12..13]); } 這張投影片用於介紹字串。我們稍後會深入介紹此處提及的所有內容,但目前這些就已足夠用於後續的投 影片和使用字串的練習題中。 • 字串中的無效 UTF-8 屬於 UB,而安全的 Rust 環境不允許此行為。 ("i8: {y}"); } fn main() { let x = 10; let y = 20; takes_u32(x); takes_i8(y); // takes_u32(y); } 這張投影片展示了 Rust 編譯器如何根據變數宣告和用法設下的限制來推斷型別。 請務必強調,以這種方式宣告的變數,並非「任一型別」這類可存放任何資料的動態型別。此類宣告產生的 機器碼與型別的明確宣告相同0 码力 | 358 页 | 1.41 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 C# 版初識演算法 www.hello‑algo.com 12 1. 將撲克牌劃分為“有序”和“無序”兩部分,並假設初始狀態下最左 1 張撲克牌已經有序。 2. 在無序部分抽出一張撲克牌,插入至有序部分的正確位置;完成後最左 2 張撲克已經有序。 3. 不斷迴圈步驟 2. ,每一輪將一張撲克牌從無序部分插入至有序部分,直至所有撲克牌都有序。 圖 1‑2 撲克排序步驟 上述整理撲克牌的方法本質上是“插入排 2. 第二步:判斷漸近上界 時間複雜度由 ?(?) 中最高階的項來決定。這是因為在 ? 趨於無窮大時,最高階的項將發揮主導作用,其他 項的影響都可以忽略。 表 2‑2 展示了一些例子,其中一些誇張的值是為了強調“係數無法撼動階數”這一結論。當 ? 趨於無窮大時, 這些常數變得無足輕重。 表 2‑2 不同操作數量對應的時間複雜度 操作數量 ?(?) 時間複雜度 ?(?(?)) 100000 鏈結串列或二者的組合實現的。例如,堆疊和佇列既可以使用 陣列實現,也可以使用鏈結串列實現;而雜湊表的實現可能同時包含陣列和鏈結串列。 ‧ 基於陣列可實現:堆疊、佇列、雜湊表、樹、堆積、圖、矩陣、張量(維度 ≥ 3 的陣列)等。 ‧ 基於鏈結串列可實現:堆疊、佇列、雜湊表、樹、堆積、圖等。 鏈結串列在初始化後,仍可以在程式執行過程中對其長度進行調整,因此也稱“動態資料結構”。陣列在初始 化0 码力 | 379 页 | 18.79 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Dart 版初識演算法 www.hello‑algo.com 12 1. 將撲克牌劃分為“有序”和“無序”兩部分,並假設初始狀態下最左 1 張撲克牌已經有序。 2. 在無序部分抽出一張撲克牌,插入至有序部分的正確位置;完成後最左 2 張撲克已經有序。 3. 不斷迴圈步驟 2. ,每一輪將一張撲克牌從無序部分插入至有序部分,直至所有撲克牌都有序。 圖 1‑2 撲克排序步驟 上述整理撲克牌的方法本質上是“插入排 2. 第二步:判斷漸近上界 時間複雜度由 ?(?) 中最高階的項來決定。這是因為在 ? 趨於無窮大時,最高階的項將發揮主導作用,其他 項的影響都可以忽略。 表 2‑2 展示了一些例子,其中一些誇張的值是為了強調“係數無法撼動階數”這一結論。當 ? 趨於無窮大時, 這些常數變得無足輕重。 表 2‑2 不同操作數量對應的時間複雜度 操作數量 ?(?) 時間複雜度 ?(?(?)) 100000 鏈結串列或二者的組合實現的。例如,堆疊和佇列既可以使用 陣列實現,也可以使用鏈結串列實現;而雜湊表的實現可能同時包含陣列和鏈結串列。 ‧ 基於陣列可實現:堆疊、佇列、雜湊表、樹、堆積、圖、矩陣、張量(維度 ≥ 3 的陣列)等。 ‧ 基於鏈結串列可實現:堆疊、佇列、雜湊表、樹、堆積、圖等。 鏈結串列在初始化後,仍可以在程式執行過程中對其長度進行調整,因此也稱“動態資料結構”。陣列在初始 化0 码力 | 378 页 | 18.77 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Go 版初識演算法 www.hello‑algo.com 12 1. 將撲克牌劃分為“有序”和“無序”兩部分,並假設初始狀態下最左 1 張撲克牌已經有序。 2. 在無序部分抽出一張撲克牌,插入至有序部分的正確位置;完成後最左 2 張撲克已經有序。 3. 不斷迴圈步驟 2. ,每一輪將一張撲克牌從無序部分插入至有序部分,直至所有撲克牌都有序。 圖 1‑2 撲克排序步驟 上述整理撲克牌的方法本質上是“插入排 2. 第二步:判斷漸近上界 時間複雜度由 ?(?) 中最高階的項來決定。這是因為在 ? 趨於無窮大時,最高階的項將發揮主導作用,其他 項的影響都可以忽略。 表 2‑2 展示了一些例子,其中一些誇張的值是為了強調“係數無法撼動階數”這一結論。當 ? 趨於無窮大時, 這些常數變得無足輕重。 表 2‑2 不同操作數量對應的時間複雜度 操作數量 ?(?) 時間複雜度 ?(?(?)) 100000 鏈結串列或二者的組合實現的。例如,堆疊和佇列既可以使用 陣列實現,也可以使用鏈結串列實現;而雜湊表的實現可能同時包含陣列和鏈結串列。 ‧ 基於陣列可實現:堆疊、佇列、雜湊表、樹、堆積、圖、矩陣、張量(維度 ≥ 3 的陣列)等。 ‧ 基於鏈結串列可實現:堆疊、佇列、雜湊表、樹、堆積、圖等。 鏈結串列在初始化後,仍可以在程式執行過程中對其長度進行調整,因此也稱“動態資料結構”。陣列在初始 化0 码力 | 385 页 | 18.80 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Kotlin 版初識演算法 www.hello‑algo.com 12 1. 將撲克牌劃分為“有序”和“無序”兩部分,並假設初始狀態下最左 1 張撲克牌已經有序。 2. 在無序部分抽出一張撲克牌,插入至有序部分的正確位置;完成後最左 2 張撲克已經有序。 3. 不斷迴圈步驟 2. ,每一輪將一張撲克牌從無序部分插入至有序部分,直至所有撲克牌都有序。 圖 1‑2 撲克排序步驟 上述整理撲克牌的方法本質上是“插入排 2. 第二步:判斷漸近上界 時間複雜度由 ?(?) 中最高階的項來決定。這是因為在 ? 趨於無窮大時,最高階的項將發揮主導作用,其他 項的影響都可以忽略。 表 2‑2 展示了一些例子,其中一些誇張的值是為了強調“係數無法撼動階數”這一結論。當 ? 趨於無窮大時, 這些常數變得無足輕重。 表 2‑2 不同操作數量對應的時間複雜度 操作數量 ?(?) 時間複雜度 ?(?(?)) 100000 鏈結串列或二者的組合實現的。例如,堆疊和佇列既可以使用 陣列實現,也可以使用鏈結串列實現;而雜湊表的實現可能同時包含陣列和鏈結串列。 ‧ 基於陣列可實現:堆疊、佇列、雜湊表、樹、堆積、圖、矩陣、張量(維度 ≥ 3 的陣列)等。 ‧ 基於鏈結串列可實現:堆疊、佇列、雜湊表、樹、堆積、圖等。 鏈結串列在初始化後,仍可以在程式執行過程中對其長度進行調整,因此也稱“動態資料結構”。陣列在初始 化0 码力 | 382 页 | 18.79 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Java 版初識演算法 www.hello‑algo.com 12 1. 將撲克牌劃分為“有序”和“無序”兩部分,並假設初始狀態下最左 1 張撲克牌已經有序。 2. 在無序部分抽出一張撲克牌,插入至有序部分的正確位置;完成後最左 2 張撲克已經有序。 3. 不斷迴圈步驟 2. ,每一輪將一張撲克牌從無序部分插入至有序部分,直至所有撲克牌都有序。 圖 1‑2 撲克排序步驟 上述整理撲克牌的方法本質上是“插入排 2. 第二步:判斷漸近上界 時間複雜度由 ?(?) 中最高階的項來決定。這是因為在 ? 趨於無窮大時,最高階的項將發揮主導作用,其他 項的影響都可以忽略。 表 2‑2 展示了一些例子,其中一些誇張的值是為了強調“係數無法撼動階數”這一結論。當 ? 趨於無窮大時, 這些常數變得無足輕重。 表 2‑2 不同操作數量對應的時間複雜度 操作數量 ?(?) 時間複雜度 ?(?(?)) 100000 鏈結串列或二者的組合實現的。例如,堆疊和佇列既可以使用 陣列實現,也可以使用鏈結串列實現;而雜湊表的實現可能同時包含陣列和鏈結串列。 ‧ 基於陣列可實現:堆疊、佇列、雜湊表、樹、堆積、圖、矩陣、張量(維度 ≥ 3 的陣列)等。 ‧ 基於鏈結串列可實現:堆疊、佇列、雜湊表、樹、堆積、圖等。 鏈結串列在初始化後,仍可以在程式執行過程中對其長度進行調整,因此也稱“動態資料結構”。陣列在初始 化0 码力 | 379 页 | 18.79 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 JavaScript 版初識演算法 www.hello‑algo.com 12 1. 將撲克牌劃分為“有序”和“無序”兩部分,並假設初始狀態下最左 1 張撲克牌已經有序。 2. 在無序部分抽出一張撲克牌,插入至有序部分的正確位置;完成後最左 2 張撲克已經有序。 3. 不斷迴圈步驟 2. ,每一輪將一張撲克牌從無序部分插入至有序部分,直至所有撲克牌都有序。 圖 1‑2 撲克排序步驟 上述整理撲克牌的方法本質上是“插入排 2. 第二步:判斷漸近上界 時間複雜度由 ?(?) 中最高階的項來決定。這是因為在 ? 趨於無窮大時,最高階的項將發揮主導作用,其他 項的影響都可以忽略。 表 2‑2 展示了一些例子,其中一些誇張的值是為了強調“係數無法撼動階數”這一結論。當 ? 趨於無窮大時, 這些常數變得無足輕重。 表 2‑2 不同操作數量對應的時間複雜度 操作數量 ?(?) 時間複雜度 ?(?(?)) 100000 鏈結串列或二者的組合實現的。例如,堆疊和佇列既可以使用 陣列實現,也可以使用鏈結串列實現;而雜湊表的實現可能同時包含陣列和鏈結串列。 ‧ 基於陣列可實現:堆疊、佇列、雜湊表、樹、堆積、圖、矩陣、張量(維度 ≥ 3 的陣列)等。 ‧ 基於鏈結串列可實現:堆疊、佇列、雜湊表、樹、堆積、圖等。 鏈結串列在初始化後,仍可以在程式執行過程中對其長度進行調整,因此也稱“動態資料結構”。陣列在初始 化0 码力 | 379 页 | 18.78 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 TypeScript 版初識演算法 www.hello‑algo.com 12 1. 將撲克牌劃分為“有序”和“無序”兩部分,並假設初始狀態下最左 1 張撲克牌已經有序。 2. 在無序部分抽出一張撲克牌,插入至有序部分的正確位置;完成後最左 2 張撲克已經有序。 3. 不斷迴圈步驟 2. ,每一輪將一張撲克牌從無序部分插入至有序部分,直至所有撲克牌都有序。 圖 1‑2 撲克排序步驟 上述整理撲克牌的方法本質上是“插入排 2. 第二步:判斷漸近上界 時間複雜度由 ?(?) 中最高階的項來決定。這是因為在 ? 趨於無窮大時,最高階的項將發揮主導作用,其他 項的影響都可以忽略。 表 2‑2 展示了一些例子,其中一些誇張的值是為了強調“係數無法撼動階數”這一結論。當 ? 趨於無窮大時, 這些常數變得無足輕重。 表 2‑2 不同操作數量對應的時間複雜度 操作數量 ?(?) 時間複雜度 ?(?(?)) 100000 鏈結串列或二者的組合實現的。例如,堆疊和佇列既可以使用 陣列實現,也可以使用鏈結串列實現;而雜湊表的實現可能同時包含陣列和鏈結串列。 ‧ 基於陣列可實現:堆疊、佇列、雜湊表、樹、堆積、圖、矩陣、張量(維度 ≥ 3 的陣列)等。 ‧ 基於鏈結串列可實現:堆疊、佇列、雜湊表、樹、堆積、圖等。 鏈結串列在初始化後,仍可以在程式執行過程中對其長度進行調整,因此也稱“動態資料結構”。陣列在初始 化0 码力 | 384 页 | 18.80 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Swift 版初識演算法 www.hello‑algo.com 12 1. 將撲克牌劃分為“有序”和“無序”兩部分,並假設初始狀態下最左 1 張撲克牌已經有序。 2. 在無序部分抽出一張撲克牌,插入至有序部分的正確位置;完成後最左 2 張撲克已經有序。 3. 不斷迴圈步驟 2. ,每一輪將一張撲克牌從無序部分插入至有序部分,直至所有撲克牌都有序。 圖 1‑2 撲克排序步驟 上述整理撲克牌的方法本質上是“插入排 2. 第二步:判斷漸近上界 時間複雜度由 ?(?) 中最高階的項來決定。這是因為在 ? 趨於無窮大時,最高階的項將發揮主導作用,其他 項的影響都可以忽略。 表 2‑2 展示了一些例子,其中一些誇張的值是為了強調“係數無法撼動階數”這一結論。當 ? 趨於無窮大時, 這些常數變得無足輕重。 表 2‑2 不同操作數量對應的時間複雜度 操作數量 ?(?) 時間複雜度 ?(?(?)) 100000 鏈結串列或二者的組合實現的。例如,堆疊和佇列既可以使用 陣列實現,也可以使用鏈結串列實現;而雜湊表的實現可能同時包含陣列和鏈結串列。 ‧ 基於陣列可實現:堆疊、佇列、雜湊表、樹、堆積、圖、矩陣、張量(維度 ≥ 3 的陣列)等。 ‧ 基於鏈結串列可實現:堆疊、佇列、雜湊表、樹、堆積、圖等。 鏈結串列在初始化後,仍可以在程式執行過程中對其長度進行調整,因此也稱“動態資料結構”。陣列在初始 化0 码力 | 379 页 | 18.79 MB | 10 月前3
共 58 条
- 1
- 2
- 3
- 4
- 5
- 6













