真實情境的演算法練習

電腦科學的核心概念

Pritesh Patel

Computer Scientist & Data Scientist for over 20 years

常用演算法:排序與搜尋

排序(Sorting)

當你需要將項目「排序」時使用

真實情境:

  1. 線上購物: 依價格、評分、熱門度排序。
  2. 行事曆排序: 依日期與時間排序事件。

搜尋(Searching)

當你需要「搜尋」項目時使用

真實情境:

  1. 線上購物: 搜尋書名。
  2. 客服支援: 依顧客姓名搜尋舊工單。
電腦科學的核心概念

排序演算法:氣泡排序 vs 快速排序

Bubble Sort 顯示氣泡排序運作方式的動畫

  • 氣泡排序:比較、交換、重複、通過。
  • 時間複雜度:$O(n^2)$。
  • 想像線上商店有數百萬項商品要排:目錄成長時成本呈指數上升。

Quick Sort 顯示快速排序運作方式的動畫

  • 快速排序:分割、樞紐、排序、合併。
  • 時間複雜度:O(n log n)。
  • 想像線上商店有數百萬項商品要排:目錄成長時更可擴展。
電腦科學的核心概念

搜尋演算法:線性搜尋 vs 二元搜尋

Linear Search 顯示線性搜尋運作方式的動畫

  • 時間複雜度:$O(n)$。
  • 簡單,逐一檢查每個元素。
  • 線性搜尋:掃描、比較、找到、停止。

Binary Search 顯示二元搜尋運作方式的動畫

  • 時間複雜度:$O(log\,n)$。
  • 高效,但「需要」已排序清單。
  • 二元搜尋:分割、比較、排除、重複。
電腦科學的核心概念

結語

  • 氣泡排序、快速排序、二元搜尋、線性搜尋。
  • 對大型資料集,快速排序與二元搜尋更有效率。
  • 現在你應該直覺上理解:演算法效率會直接影響科技體驗的好壞。
電腦科學的核心概念

一起來練習吧!

電腦科學的核心概念

Preparing Video For Download...