iT邦幫忙

2019 iT 邦幫忙鐵人賽

0
自我挑戰組

程式設計師大冒險系列 第 80

[80/150]CPE一星題庫(十二)vito's family

  • 分享至 

  • xImage
  •  

這是第一個解出的題目,剛開始寫程式沒有註解習慣。搭配原文看,才明白程式如何運作。回顧之餘順便寫註解並且優化,然後再做gif檔。

【大綱】

  • 主要動圖
  • 檢討與修正
  • 結論

【主要動圖】

分四大步驟,然後再做補間動畫。
雖然有測資網站提供測試,但是自己寫測資也很重要。
聽過白箱和黑箱,但是還沒接觸過。
https://ithelp.ithome.com.tw/upload/images/20181219/20091910eY9RwjxiKX.jpg

氣泡演算法,顧名思義數字會從底下往上浮出。
錯誤順序就像待在錯誤水壓層,所以氣泡會因為水壓上升或下沉,
回到他正確位置中。
https://ithelp.ithome.com.tw/upload/images/20181219/200919108dbtAfyk2v.jpg

每一輪要找剩餘數字中最大那一個,所以比的次數會遞減。
第一輪比四次,找到第一大。
第二輪剩四個數字,所以比三次就好。
中間可能提早排序好,但是程式是死的,所以會跑完全部。
n + (1 + n) / 2 X n + n
=n + 1/2n + 1/2n X n + n
=2n + 1/2n + 1/2n X n
故時間複雜度為O(n的二次方)
https://ithelp.ithome.com.tw/upload/images/20181219/20091910Rwqwtv2iYf.jpg

因為要計算總距離,用絕對值比較方便。
https://ithelp.ithome.com.tw/upload/images/20181219/20091910sS2Spg7YHH.jpg

【檢討與修正】

前面一直在講做動畫區,這邊更正為動圖區。
中間補間動畫還在思考作法,想找一個聰明辦法。
可惜沒有flash,不然輸出逐格動畫多方便。

不會打數學符號,在時間複雜度說明用了很醜算式。
之後會學習寫法,增加文章易讀性。

圖片比例過大,不知道Markdown能不能控制大小。
不然就要去學批次檔製作,將圖片統一進行縮小。

【結論】

明天先將欠缺技能學起來,再來製作動圖區。
感謝撥冗閱讀,有錯誤地方歡迎指教。


上一篇
[79/150]第十二週學習總結,完成CPE一星題庫版面
下一篇
[81/150]CPE一星題庫(十三)PPT做GIF檔很吃記憶體
系列文
程式設計師大冒險115
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言