免費開始練習
地特三等申論題 108年 [資訊處理] 程式語言

第 一 題

一、有一函式如下,試問其平均時間複雜度為何?(25 分) Function A(n) { int a = 0; int b = 0; for (int i = 0; i < n; i++) { a++; } printf("Hello"); for (int j = 0; j < n; j++) { for (int k = 0; k < n; k++) { b++; } } printf("World"); }
📝 此題為申論題

思路引導 VIP

看到時間複雜度的題目,先將程式碼由上而下拆解成不同的「執行區塊」(如迴圈、基本運算)。接著分別計算每個區塊執行次數與輸入變數 n 的數學關係,最後利用 Big-O 的加法規則保留最高次項即可得出結論。

🤖
AI 詳解 AI 專屬家教

【解題思路】利用 Big-O 符號的漸近分析與加法法則,分別計算函式中各區塊的執行次數,相加後取最高階項。 【詳解】 已知:可將 Function A(n) 的程式碼結構依執行順序拆解為數個區塊來計算執行次數。

▼ 還有更多解析內容

📝 同份考卷的其他題目

查看 108年[資訊處理] 程式語言 全題

升級 VIP 解鎖