Examly題庫
國中教甄|資訊科技資訊科技115 年第 94 題單選題

以下演算法區塊之時間複雜度為何? for (int i = 1; i < n; i++) for (int j = 0; j < i; j++) for (int k = n; k > 0; k = k/2) System.out.println(i +" "+ j+" "+ k);

AO(n 3 )
BO(n 2 log2 n)正確答案
CO(n log2 n)
DO(n 2 )
答案與詳解
B
正確答案
外層與中層迴圈構成等差級數求和為 O(n^2),內層迴圈每次減半為 O(log2 n),相乘即得 O(n^2 log2 n)。

逐選項解析

AO(n 3 )✕ 錯誤
若三層迴圈皆執行 n 次才會是 O(n^3),但中層執行 i 次且內層執行 log2 n 次,故不正確。
BO(n 2 log2 n)✓ 正確
CO(n log2 n)✕ 錯誤
此為兩層迴圈(一層 O(n)、一層 O(log2 n))的時間複雜度,忽略了中層迴圈隨 i 增加的執行次數。
DO(n 2 )✕ 錯誤

立即註冊,看完整詳解

這題的完整詳解,註冊就能看 · 每天 2 題免費

精選詳解
  • 完整逐選項解析
  • 秒殺解題技巧與破題關鍵
  • 關鍵知識表整理
  • 陷阱與易錯提醒
  • 同考點歷屆題庫連續刷題與錯題本
接著練習整份考卷查看 115 年 國中教甄|資訊科技《資訊科技》完整試題與解答

資訊科技 相關題目

想練更多資訊科技考古題?

Examly 收錄 50 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

Examly