iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
自我挑戰組

一個月的演算法挑戰 系列

利用一個月的時間,使用JavaScript和Python將演算法練的爐火存菁。

鐵人鍊成 | 共 30 篇文章 | 17 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day11:插入排序法(Insertion Sort)

談談插入排序(Insertion Sort) 在開始今天之前,先來看看影片(約2分鐘)吧! https://www.youtube.com/watch?v=O...

2021-09-11 ‧ 由 Emma 分享
DAY 12

Day12:合併排序(Merge Sort)

Divide and conquer(分而治之法) Divide and conquer 顧名思義是一種將問題分解為小問題再依次解決,最後再將解決問題合併的方法...

2021-09-12 ‧ 由 Emma 分享
DAY 13

Day13:快速排序(Quick Sort)

淺談Divide And Conquer Day12有提到Divide and conquer(分治法),簡單的說,將問題分解為小問題後,依次解決,最後再將解決...

2021-09-13 ‧ 由 Emma 分享
DAY 14

Day14:堆積排序(Heap Sort)

堆積(Heap) 堆積,是一種樹狀結構,用於實現「優先佇列(Priority queue)」。Priority queue是資料結構的一種,可以自由追加數據,讀...

2021-09-14 ‧ 由 Emma 分享
DAY 15

Day15:圖形搜尋-廣度優先搜尋(breadth-first search)

Tree and Graph 在開始今天的主題之前,要先來淺談Tree跟Graph。什麼是Tree? Tree Tree 是一種特定的Graph,沒有Loop...

2021-09-15 ‧ 由 Emma 分享
DAY 16

Day16:圖形搜尋-深度優先搜尋(Depth-First Search)

使用字典建立圖形資料結構 字典鍵值對應串列如下,配合圖表更容易理解。 G[0]:[1,2,3] G[1]:[0,2,3,4] G[2]:[0,1] G[3]:...

2021-09-16 ‧ 由 Emma 分享
DAY 17

Day17:圖形搜尋-貝爾曼-福特演算法(Bellman-Ford algorithm)

最短路徑演算法 最短路徑是在賦予edges權重的「加權圖形」裡,指定「起點」和「終點」,求出起點到終點之間,權重總和最小的路徑。求取最短路徑時,通常edges的...

2021-09-17 ‧ 由 Emma 分享
DAY 18

Day18:圖形搜尋-戴克斯特拉演算法(Dijkstra's algorithm)

貪婪(Greedy)演算法 貪婪演算法是考慮局部最佳解,在子結構中解決問題是相當有利的,但放入整體問題中,不一定會是最佳解。 貪婪演算法與動態規劃的不同在於它...

2021-09-18 ‧ 由 Emma 分享
DAY 19

Day19:鏈接串列(Linked List)

鏈接串列(Linked List) 鏈接串列是一種線性表,使用Pointer串接資料,好處是找到目標位置後,可以有效率的插入或刪除元素,陣列不適合在中間位置插入...

2021-09-19 ‧ 由 Emma 分享
DAY 20

Day20:安全性和演算法-雜湊函數(hash function)

安全性與演算法 在電腦科學的領域裡,每一刻都有數以萬計的資料在進行傳輸,在傳輸的過程中,是真的安全嗎?相信每個人都有遇過詐騙電話,或是資料外洩,是怎麼樣的過程造...

2021-09-20 ‧ 由 Emma 分享