iT邦幫忙

鐵人檔案

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

狗是人類的好夥伴,阿狗(Algorithm)也是工程師的好夥伴 系列

雖然名字看上去是貓派,可是貓狗都喜歡。最近有工作方面的需求,需要對演算法更熟悉,也就是俗稱的刷題。在自我練習的過程中,希望能留些紀錄當作筆記釐清自己的思緒、完善思考結構。就像一開始不熟悉狗狗的時候可能覺得惡犬勿進,熟悉了之後就變成了好夥伴,讓我們用 30 天一起好好跟這隻 Algo 培養感情吧。
※本主題以分類介紹各種演算法基礎為主,並非高難度的算法探討

鐵人鍊成 | 共 31 篇文章 | 4 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day1. 摸狗不能上來就嚕肚子,先從背開始 - 30天計畫分享

這次的主題 避免有人沒看到介紹,讓我再說一次這次 30 篇的緣起(是很懶的複製貼上):最近有工作方面的需求,需要對演算法更熟悉,也就是俗稱的刷題。在自我練習的過...

DAY 2

Day2. 寫在開始解題之前

寫在最前面 學演算法不外乎是為了要解決一個特定範疇/模式的問題,了解在限制條件下,如何用合適的方式來找出需要的答案。今天要來談談解題之前,我個人認為應該要有的觀...

DAY 3

Day3. 陣列(Array) - 基本介紹

前言 這次標題不玩梗了,我們腳踏實地的寫文章 - 取而代之,想說這次的主體勉強跟狗拉上關係,每天的 Cover 我們就用狗狗圖來撐版面,圖源都會來自 Bing...

DAY 4

Day4. 陣列(Array) - 題目實作(上)

今日看板圖,排排站的狗狗,是不是很像陣列連在一起的感覺呢?如昨天所說,今天會舉一些題目來看實際算法怎麼寫,我會條列步驟,並列出對應的 C# 程式碼。如果你是想練...

DAY 5

Day5. 陣列(Array) - 題目實作(下)

看到狗狗有沒有讓心情變好呀,每隻狗狗都有不同顆數的球,就像陣列裡面可以裝不同元素一樣呢。讓我們繼續昨天的進度、開始今天其他陣列相關算法的解題實作吧。 前綴和 R...

DAY 6

Day6. 矩陣(Matrix)

資料結構 矩陣一般透過多維陣列展現,這也是為什麼在陣列介紹後我選擇接著矩陣討論。如果是一個整數矩陣,C# 可以透過 int[][] 或是 int[,] 的方式...

DAY 7

Day7. 鏈結串列(Linked List) - 基本介紹

資料結構 鏈結串列 以位址來連結數個元素 易於插入元素,檢索特定元素需花費 O(n) 時間,因為不知道切確位置必須要遍歷 最後指向 null 表示該點為鏈結...

DAY 8

Day 8. 鏈結串列(Linked List) - 題目實作

在鏈結串列實作的一開始,我覺得這題最合適:Design Linked List如題目的名字,就是讓我們自己去實現一個鏈結串列,不限定使用單向或雙向。包含幾個方...

DAY 9

Day9. 雜湊表(Hash Table)

資料結構 雜湊表,也有人會用音譯直接叫哈希表,Hash Map 也是在講同一個東西,主要用來儲存鍵與值(Key-Vale pair),在 C# 中,我們一般使...

DAY 10

Day10. 佇列(Queue)與堆疊(Stack)

資料結構 佇列和堆疊這兩種資料結構常常被放在一起比較,一如陣列與鏈結串列一樣,因為他們的結構處理的問題有一定程度的相似,卻在特性上迥然相異。兩者比起陣列和鏈結...