🎲 隨機化演算法

隨機化不是不確定,而是利用隨機性來簡化問題

  • Monte Carlo 演算法:有可能出錯,但錯誤率可控制
  • Las Vegas 演算法:永遠正確,但執行時間是隨機的

隨機化演算法在密碼學、大數據、機器學習中無所不在。

🔥 Vibe Coding 核心 Prompt

【隨機化快速選擇詠唱範例】 「請幫我實作 Randomized Quickselect: 1. 實作一個函式找到陣列中第 K 小的元素。 2. 隨機選擇 pivot 而不是固定選第一個。 3. 分析為什麼隨機化可以避免最壞情況 O(n²)。 4. 比較固定 pivot 與隨機 pivot 在不同輸入下的效能。 5. 用實驗證明期望時間複雜度為 O(n)。」

🎯 課程大綱

  1. Monte Carlo vs Las Vegas
  2. Randomized Quickselect / Quicksort
  3. 隨機化最小割
  4. 密碼學中的隨機化
  5. 機率分析與集中不等式