iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Software Development

闖進Python異世界 系列

Python是最適合初學者的程式語言,原因大致為簡潔、易懂、應用多,因此我覺得大家可以藉著這個程式語言入門「資料結構」這門相對困難的學問!在鐵人賽中,我將從最簡單的列表、字典說起,再進一步到鏈結串列與二元樹的實作。為求完整,我會在其中簡單介紹Python的物件導向特性,使資料結構更清楚明瞭。

鐵人鍊成 | 共 30 篇文章 | 10 人訂閱 訂閱系列文 RSS系列文 團隊Google開發者社群
DAY 11

[Day 11] 闖進Python異世界 - Class 你會開模嗎?

先不從開模開始說明,我們先聊聊什麼事物件吧!物件包含兩種要素,特性和行為!舉一輛汽車為例, 特性有馬力、座位數、材料等 行為有加速、煞車、停車等 如果每做一...

2022-09-22 ‧ 由 chmh0624 分享
DAY 12

[Day 12] 闖進Python異世界 - Class 屬性 - 實戰開模 Part 1/2

今天來做一個 class Student 吧! 接續上一篇的問題:他所生產出的物件需要有什麼特性、行為? 姓名、體重、成績、興趣應該算是他們的特性吧!行為呢?讀...

2022-09-23 ‧ 由 chmh0624 分享
DAY 13

[Day 13] 闖進Python異世界 - Class 方法 - 實戰開模 Part 2/2

接續上一篇的開模實戰! 完成了建構子的實作,也代表著我們定義了大多數的學生屬性,包含姓名、體重、成績、興趣: class Student: def __...

2022-09-24 ‧ 由 chmh0624 分享
DAY 14

[Day 14] 闖進Python異世界 - Linked List

你有沒有想過當你刪掉列表第一個的元素,程式背後會怎麼運作? mylist = [1,2,3,4] mylist.remove(1) 電腦會將剩餘的元素向前移動...

2022-09-25 ‧ 由 chmh0624 分享
DAY 15

[Day 15] 闖進Python異世界 - Singly Linked List 1/3

今日目標: 定義 class Node:節點的組成 定義 class SLL:單向鏈結串列的組成 push_front(data):從頭新增節點 定義...

2022-09-26 ‧ 由 chmh0624 分享
DAY 16

[Day 16] 闖進Python異世界 - Singly Linked List 2/3

今日目標: pop_front(self) : 刪除第一個節點 push_back(self, data) : 新增節點到最後方 pop_back(se...

2022-09-27 ‧ 由 chmh0624 分享
DAY 17

[Day 17] 闖進Python異世界 - Singly Linked List 3/3

今日目標: printAll(self):輸出所有鏈結串列資料 reverse(self):翻轉鏈結串列 定義 printAll() 我們需要一個浮動...

2022-09-28 ‧ 由 chmh0624 分享
DAY 18

[Day 18] 闖進Python異世界 - Cycle Detection

鏈結串列中的節點可以指向下一個節點或是 None,如果下一個節點是曾經出現過的節點,那麼我們稱這個鏈結串列包含一個 Cycle 。今天的目標就是來偵測這個鏈結串...

2022-09-29 ‧ 由 chmh0624 分享
DAY 19

[Day 19] 闖進Python異世界 - Palindrome Linked List

今天的這個題目是判斷鏈結串列是否為「回文」 如果這個鏈結串列是雙向的,那麼我們就可以用兩個指標來判斷這個鏈結串列是否為回文,但是今天題目只提供一個單向鏈結串列,...

2022-09-30 ‧ 由 chmh0624 分享
DAY 20

[Day 20] 闖進Python異世界 - Stack with Linked List

還記得堆疊的特色嗎?先進到堆疊的資料會比較晚被取出!我們稱這個性質叫「先進後出」。 之前練習過用列表實作,那我們今天就來用鏈結串列實作吧! 第一步就是實作...

2022-10-01 ‧ 由 chmh0624 分享