iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

從0開始的資料結構旅程! 系列

利用30天學習資料結構與基本的演算法,並以C++實作,由於自己也仍在學習階段,因此本系列不會以艱深的理論為主,而是希望透過簡單的例子、圖解以及實作紀錄,將學習過程中的理解與整理分享給同樣剛接觸資料結構的初學者。
希望透過這 30 天的挑戰,不只讓自己更加了解基礎知識,也能留下完整的學習紀錄,與大家一起從 0 開始探索資料結構的世界!

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

Day1 - 前言& 什麼是資料結構

我先來自我介紹一下! 我是Nina 目前要升大二,為了減緩我暑假的焦慮決定來報名這次的IT鐵人賽順便磨練自己,第一次參加鐵人賽請多指教 選此次的主題是想說趁著升...

2026-08-07 ‧ 由 cheese_91383 分享
DAY 2

Day 2 - 什麼是演算法?

我們昨天介紹了資料結構,那今天來簡單的看演算法吧!先簡單解釋一下為什麼要在資料結構的文章裡介紹演算法, 我們經常在各個地方都能看到演算法的存在,其實他沒有你想像...

2026-08-08 ‧ 由 cheese_91383 分享
DAY 3

Day 3 - 時間複雜度(Time Complexity) 與 Big O

那接下來我們就要解釋什麼是時間複雜度和 Big O ! 時間複雜度(Time Complexity) 時間複雜度就是工程師可以根據演算法 執行次數 來 衡量執行...

2026-08-09 ‧ 由 cheese_91383 分享
DAY 4

Day 4 - 空間複雜度(Space complexity)

我們昨天介紹了什麼是時間複雜度,那今天來看什麼是空間複雜度吧 !☆*: .。. o*(≧▽≦)*o .。.:*☆ 什麼是空間複雜度? 空間複雜度 (Space...

2026-08-10 ‧ 由 cheese_91383 分享
DAY 5

Day 5 - 遞迴(Recursion)

我們昨天在空間複雜度簡單介紹了遞迴,那今天我們來認識他吧 ! 遞迴是什麼? 遞迴是函式直接或間接來呼叫自己的過程簡單來說,就是把大問題拆成小問題,直到問題小到可...

2026-08-11 ‧ 由 cheese_91383 分享
DAY 6

Day 6 - 陣列 (Array)和記憶體位址

我們前面學了複雜度、Big O、遞迴,接下來就要開始接觸比較實際的資料結構了 ! 第一個要認識的就是陣列(Array) 什麼是陣列? 陣列結構是 一排連續的可...

2026-08-12 ‧ 由 cheese_91383 分享
DAY 7

Day 7 - 陣列(Array) - Leetcode實作

延續昨天講到的array,我們來看實際的應用吧!btw 因為這篇想延續昨天介紹的 Array,而且後面還會介紹其他解法,所以這次先專注在最直覺的暴力解喔 &gt...

2026-08-13 ‧ 由 cheese_91383 分享
DAY 8

Day 8 - 單向鏈結串列(Singly Linked list)

昨天我們看了陣列的題目,今天我們要來學鏈結串列 ( Linked list )我們在 Day6的時候有提到,陣列的插入和刪除很麻煩,那鏈結串列的優點就是插入和刪...

2026-08-14 ‧ 由 cheese_91383 分享
DAY 9

Day 9 - 鏈結串列(Linked list) - Leetcode實作

昨天介紹完 Linked List,今天來看看實際的應用吧!這題算是鏈結串列的經典入門題之一 206. Reverse Linked List 題目 Given...

2026-08-15 ‧ 由 cheese_91383 分享
DAY 10

Day 10 - 雙向鏈結串列 (Doubly Linked list)

前幾天我們看過了單向鏈結串列與他的實作,今天我們來看雙向鏈結串列吧 ! 昨天在做 Reverse Linked List 時,我們發現一件事: 1 → 2 →...

2026-08-16 ‧ 由 cheese_91383 分享