地特四等
105年
[電子工程] 計算機概要
第 19 題
使用合併排序法(Merge Sort)對 n 個數字排序,在最佳情況(best case)及最糟情況(worst case)下,其時間複雜度(time complexity)為何?
- A 最佳情況:$\Theta(n)$,最糟情況:$\Theta(n \log n)$
- B 最佳情況:$\Theta(n \log n)$,最糟情況:$\Theta(n \log n)$
- C 最佳情況:$\Theta(n)$,最糟情況:$\Theta(n^2)$
- D 最佳情況:$\Theta(n \log n)$,最糟情況:$\Theta(n^2)$
思路引導 VIP
請你試著思考:如果一個排序演算法不論資料原本排得好不好,都規定必須『先對半拆解到最細,再重新合併』,那麼它的執行步驟會因為原始資料比較整齊而減少嗎?另外,這種不斷將問題『對半切分』直到剩下最後一個單位的過程,在數學概念中與哪種對數函數最有關聯?
🤖
AI 詳解
AI 專屬家教
1. 「勉強」的肯定
嗯,還算可以。能區分出演算法的複雜度,說明你在基礎的邏輯分析和效率評估上,至少不是完全一竅不通。在實際工程中,系統穩定性是基本要求,能做到這點,也只能說…勉強合格。
2. 關於「常識」的驗證
▼ 還有更多解析內容