iT邦幫忙

2025 iThome 鐵人賽

DAY 30
0
Rust

用刷題來練RUST系列 第 30

用刷題來練RUST Day30 總結目錄 &延伸

  • 分享至 

  • xImage
  •  

用刷題來練RUST主要分兩部分

  1. 熟悉Rust語言

  2. 資料結構與演算法

1. 熟悉Rust語言

Rust字串&str與String型別

Day 1 前言 & 字串 String

疊代器、迴圈

Day 2 疊代器Iterator & Match & 巨集Marco

所有權 & 借用檢查 模式配對

Day 3 collect & 所有權 ownership & 借用檢查 borrow check

Cargo & 模組 Modules

Day 6 Rust 模組Modules & 引用 use

智慧指標 & 裸指標 & 弱引用

Day20 Rust智慧指標

Day21 裸指標 raw point & unsafe

Day22 Double Linked List & Weak & Rust LinkedList

自定義結構 & 實作

Day17 如何自定義Priority Queue Top K比較方式

2. 資料結構與演算法

時間複雜度

Day 7 時間複雜度

字串處理

Day 1 前言 & 字串 String

Two points

Day 4 向量vector & Two Pointers

HashMap & HashSet

Day 5 HashMap HashSet

Stack

Day 8 堆疊 Stack

Day 9 用Stack 模擬特定字元處理 & 復原動作

Day 10 Stack 函式呼叫 & 遞迴

Day 11 stack 深度優先搜尋(Depth First Search)

Queue

Day 12 佇列 Queue

Day 13 Queue 廣度優先搜尋(Breadth First Search)

Day14 Queue事件處理與緩衝

Priority Queue

Day15 優先佇列 Priority Queue

Day16 Priority Queue Top K

Day17 如何自定義Priority Queue Top K比較方式

Day18 Priority Queue 多來源合併、多任務佇列

Linked List

Day19 Linked List 介紹

Day22 Double Linked List & Weak & Rust LinkedList

Binary Tree

Graph

延伸

Rust相關

  1. 函式語言(functional programming)

    在使用std::collections有用到許多跟functional programming相關的譬如HashMap中的

    hashmap.entry(num).and_modify(|count| *count+=1).or_insert(1);
    

    可以閱讀函式語言功能:疊代器與閉包

  2. 物件導向(Object-oriented programming,OOP)

    我們能在自定義結構與實作中發現,Rust 沒有 class,但 struct + impl 組合就等同於「類別 + 方法」。

    可以閱讀Rust 的物件導向程式設計特色

  3. 模式與配對

    在解題中常會使用 let Some(node)、while let Some(node),使用方法可以看模式與配對

DS 與 Algorithms相關

我們可以參考Roadmap.sh Data Structures & Algorithms,本次30天系列文主要集中在Basic、Tree、Graph Data Structures,如果要延伸閱讀下去可以參考

  1. Sorting Algorithms

  2. Search Algorithms

  3. AVL Trees、B Trees

  4. Graph 有權重的shortest path algorithm

  5. Problem Solving Techniques


上一篇
用刷題來練RUST Day29 Disjoint Set
系列文
用刷題來練RUST30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
Antonio
iT邦新手 2 級 ‧ 2025-10-12 20:05:21

恭喜完賽!!!

我要留言

立即登入留言