iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

30 天資料結構修行:從零開始理解資料結構 系列

雖然曾修習過資料結構相關課程,但當時對許多概念的理解還不夠深入,因此希望藉由這次鐵人賽重新學習與整理。

本系列將從常見的資料結構開始,包括 Array、Linked List、Stack、Queue、Hash Table、Tree、Heap、Graph 等主題,重新理解各種資料結構的核心概念、特性、使用情境,以及時間複雜度等相關知識。

希望透過 30 天的整理與複習,不只是重新記住內容,而是能真正理解資料結構背後的思考方式,並建立更扎實的程式設計基礎。

參賽天數 8 天 | 共 8 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day-1 為什麼要學資料結構?

程式、演算法與資料結構 剛開始接觸資料結構時,可以先記住一句話:**「程式是由演算法和資料結構組成的。」**這句話看起來有點抽象,其實意思很簡單。演算法負責決定...

2026-09-15 ‧ 由 HSIUN 分享
DAY 2

Day-2 演算法分析:同樣都能跑,為什麼別人的比較快?

假設今天有兩支程式都能算出正確答案:第一支程式按下執行後馬上顯示結果,第二支程式卻慢到可以先去泡一碗泡麵,回來後電腦還差點因為記憶體不足而當機。它們的答案雖然一...

2026-09-16 ‧ 由 HSIUN 分享
DAY 3

Day-3 陣列:把一群資料整齊地排在一起

陣列(Array)是程式設計中最基礎、最常見的資料結構之一。它可以把多筆相同資料型別的資料依序存放在一起,並替每個元素編上索引,讓我們能快速地存取與管理資料。...

2026-09-17 ‧ 由 HSIUN 分享
DAY 4

Day-4 陣列的幕後世界:記憶體與指標

上一篇已經學會如何宣告陣列、使用索引存取元素,並搭配迴圈處理全部資料。這一篇要繼續往下理解:陣列為什麼能透過索引快速找到元素?陣列名稱又為什麼和指標有關? 這些...

2026-09-18 ‧ 由 HSIUN 分享
DAY 5

Day-5 陣列的資料搬家:搜尋、插入與刪除

上一篇看到,陣列元素會連續存放在記憶體中。這個特性讓電腦可以透過索引直接找到指定元素,但也帶來一個限制:如果要在陣列中間插入或刪除資料,其他元素就可能必須跟著「...

2026-09-19 ‧ 由 HSIUN 分享
DAY 6

Day 6 從一串字到多層表格:字串與多維陣列

C 的字串與 char 陣列 前幾天我們用陣列存放一串數字。那麼,一串文字又是怎麼存的呢?在 C 語言中,字串(string)可以放在 char 陣列裡,最後用...

2026-09-20 ‧ 由 HSIUN 分享
DAY 7

Day 7 資料不用排在一起:認識鏈結串列

前幾天學習陣列的插入與刪除時,我們發現一個麻煩:只要在中間加入或拿掉一筆資料,後面的元素通常都要跟著搬動。如果資料很多,搬動的成本也會增加。那麼,有沒有一種方法...

2026-09-21 ‧ 由 HSIUN 分享
DAY 8

Day 8 牽線與拆線:單向鏈結串列的走訪、插入與刪除

上一篇認識了單向鏈結串列的結構:每個節點保存資料,並用 next 指向下一個節點。這一篇要練習三個基本操作:走訪、插入與刪除。 假設目前有一條串列: head...

2026-09-22 ‧ 由 HSIUN 分享