iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Software Development

櫛風風的「完全不會寫程式,從零開始的 Kotlin 教學」 系列

本題目主要目的是希望寫給「完全不會寫程式」的人,而且櫛風原本常用語言也不是Kotlin ,所以寫的程式基本上以易懂、以後方便學習其他語言為主,不會刻意使用各種 Kotlin 才有的語法來達成目的。且著重在語法跟思考模式,範例題目也是命令列介面。

參賽天數 29 天 | 共 30 篇文章 | 4 人訂閱 訂閱系列文 RSS系列文
DAY 21

[Day21] [演算法]什麼是演算法?

資結結束了,倒數十一篇~~~~ 今天開始介紹演算法,簡單來說就是「解決一個問題的步驟」,但凡一套流程可以解決一件事,我們就可以稱之為演算法。 比如今天我們要解決...

2022-10-06 ‧ 由 櫛風 分享
DAY 22

[Day22][演算法]時間複雜度

通常我們在評估一個演算法好壞,最常下手的時間複雜度Time complexity。 簡單來說,就是整個程式需要執行多久,我們一般會用大O符號來表示。 以我們之前...

2022-10-07 ‧ 由 櫛風 分享
DAY 23

[Day23][演算法]貪婪

上集解答 第一個是O(N)、第二個是O(N²),不知道大家有沒有答對呢~ 貪婪演算法Greedy 貪婪演算法是一種非常常見的演算法,在生活中說不定大家也很直覺的...

2022-10-08 ‧ 由 櫛風 分享
DAY 24

[Day24][演算法]泡沫排序

上集解答 這題的貪婪想法其實很簡單「給比較容易滿足的孩子,他能接受的最小的餅乾。」 下面是程式碼實作: import java.util.Queue impor...

2022-10-09 ‧ 由 櫛風 分享
DAY 25

[Day25][演算法]插入排序

[x]插入排序 上集解答 import java.util.Queue import java.util.LinkedList fun main(){...

2022-10-10 ‧ 由 櫛風 分享
DAY 26

[Day26] [演算法]二分搜

如果你今天想要在一個遞增陣列裡面尋找一個值你會怎麼做呢? 一格一格找嗎?這樣的最慘的時間複雜度是O(N)(也就是找到底才找到),其實還可以更快喔。 那就要用到今...

2022-10-11 ‧ 由 櫛風 分享
DAY 27

[Day27][演算法]dfs

接下來我們來學習一種暴力跑過所有可能的方法,DFS 深度優先搜尋。 為了方便解釋,我們的範例使用資結那堂課曾經寫過的樹喔。 import java.util....

2022-10-12 ‧ 由 櫛風 分享
DAY 28

[Day28][演算法]BFS

今天要講的內容跟昨天很類似,一樣是要遍歷一棵樹。 再次召喚樹樹~ 不過這次我們是用另外一個東西,這個叫做BFS 廣度優先搜尋。 具體來說,我們把每一個結點丟進一...

2022-10-13 ‧ 由 櫛風 分享
DAY 29

[Day29][演算法]歐幾里德輾轉相除法

今天是最後一堂課了,我們來學一個數學相關的演算法——輾轉相除法。 輾轉相除法又叫做歐幾里德算法,他是目前最常拿來求最大公因數的方法。 作法很簡單,就是兩個數字一...

2022-10-14 ‧ 由 櫛風 分享

[Day30][結語]結語

對不起我辜負了大家的信任,居然在最後一天忘記發文了QAQ。昨天NCPC比完真的太累了,回家直接睡著然後就隔天早上了。 總之感謝大家陪伴我完成了這三十天,雖然真的...

2022-10-16 ‧ 由 櫛風 分享