[問題] 程式執行次數

看板Grad-ProbAsk作者 (雲淡風輕)時間17年前 (2009/04/24 15:06), 編輯推噓3(304)
留言7則, 3人參與, 最新討論串1/1
for i <- 1 to n do j <- i for k <- (j+1) to n do x <- x+1 end end 問這程式的執行次數為多少? 我一開始用直覺是認為 n平方 不過第二行有穿插 j <- i,該如何分析呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.116.5.37

04/24 15:33, , 1F
外圈i=1 j=1, 內圈k=2 to n 所以執行n-1次 第二圈
04/24 15:33, 1F

04/24 15:35, , 2F
k = 3 to n 執行 n-2次 n-3......1 所以為O(n^2)
04/24 15:35, 2F

04/24 15:35, , 3F
有錯請指正 感謝
04/24 15:35, 3F

04/24 19:12, , 4F
我想的同1樓 O(n)+O(n-1)+...+O(2)+O(1) => O(n^2)
04/24 19:12, 4F

04/24 19:12, , 5F
不過我不確定 還沒念 XD
04/24 19:12, 5F

04/24 20:32, , 6F
我一開始也是認為是n^2 不過怕有異!
04/24 20:32, 6F

04/24 23:03, , 7F
如果是問次數那就寫 [(n-2+1)*(n-2)]/2
04/24 23:03, 7F
文章代碼(AID): #19yMKAzk (Grad-ProbAsk)