[理工] 資節 時間複雜度分析

看板Grad-ProbAsk作者 (PT鄉民)時間10年前 (2015/05/15 17:22), 編輯推噓4(4011)
留言15則, 4人參與, 最新討論串1/1
for (i=1; i<=n; i++) { j=i+1; do { x=x+1; } while (j++ <= n); } 請問,關於x = x + 1 的執行次數?在考試時,通常都怎麼整理的? 感覺老師,都說要用公式套 請益有人能幫解惑一下嗎?? -- Q:高雄市的飆車族到底多不多?      A:飆車族不多阿,只有一兩台,前面五十台是不敢停下來,怕被砍 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.124.53 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1431681746.A.7C8.html

05/15 21:13, , 1F
n*[(n+1)*n/2]
05/15 21:13, 1F

05/15 21:19, , 2F
外層迴圈對x有影響執行n次,內層迴圈你從i=1會執行n
05/15 21:19, 2F

05/15 21:19, , 3F
次,i=2執行n-1次...i=n執行1次
05/15 21:19, 3F

05/16 06:20, , 4F
問一下 迴圈跑到最後是不是要加一 因為判斷失敗要跳出
05/16 06:20, 4F

05/16 06:20, , 5F
算一次
05/16 06:20, 5F

05/16 11:32, , 6F
你現在問的不是x執行次數?
05/16 11:32, 6F

05/16 11:34, , 7F
然後通常不知道怎麼看我會先代個n=5之類的數字,來緩
05/16 11:34, 7F

05/16 11:34, , 8F
解恐懼
05/16 11:34, 8F

05/16 11:36, , 9F
如果是看外層for迴圈就是執行n+1次
05/16 11:36, 9F

05/25 22:57, , 10F
小弟不才While(j++<=n)這成是不是永遠j>n嗎 ??
05/25 22:57, 10F

05/30 20:10, , 11F
因為是do...while 所以一定會執行一次,下次要執行才
05/30 20:10, 11F

05/30 20:11, , 12F
會在while裡判斷條件,所以除了第一次執行,第二次之
05/30 20:11, 12F

05/30 20:13, , 13F
後會在j++後然後執行; j++<=n會先判斷j<=n然後才
05/30 20:13, 13F

05/30 20:15, , 14F
j=j+1 所以如果j=1, n=2, 會執行j=1,j=2,j=3
05/30 20:15, 14F

05/30 20:16, , 15F
所以在while裡有可能j>n
05/30 20:16, 15F
文章代碼(AID): #1LLRhIV8 (Grad-ProbAsk)