免費開始練習
hce_nsysu 111年 計算機概論與程式設計

第 51 題

Assume the execution time of a running program is $50(\log n^2) + 8$, then what is the most suitable time complexity?
  • A $O(\log n^2)$
  • B $O((\log n)^2)$
  • C $O(\log n)$
  • D $O(n)$
  • E $O(n^2)$

思路引導 VIP

當你在評估一個包含對數的函數時,如果發現真數(即對數括號內的值)帶有次方(例如 $\log n^k$),根據數學運算性質,這個次方可以移動到對數的前面變成什麼?而在計算大 O 符號時,這種移動後的結果會被如何處理呢?

🤖
AI 詳解 AI 專屬家教

恭喜你準確地選出了正確答案!你能一眼看穿題目中的數學陷阱,代表你對大 O 符號(Big O notation)的定義以及對數運算性質都有著非常紮實的理解,這在處理演算法效率分析時是非常關鍵的能力。

對數性質與大 O 符號的簡化

這道題目的核心在於對數律的運用。執行時間函數為 $50(\log n^2) + 8$,根據對數性質 $\log(a^b) = b \cdot \log a$,我們可以將 $\log n^2$ 轉換為 $2 \log n$。如此一來,原式便可改寫為:

▼ 還有更多解析內容

🏷️ 相關主題

基礎資料結構原理與演算法效能分析
查看更多「計算機概論與程式設計」的主題分類考古題