iT邦幫忙

鐵人檔案

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

用python學習資料結構與演算法 學習筆記 系列

作為程式入門小白,想進一步了解資料結構與演算法。本次參賽會以udemy上的課程: The complete Data Structures and Algorithms Course in Python 為主,其餘書籍為輔來撰寫30天的閱讀筆記。

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

簡單介紹什麼是資料結構與演算法? 如何衡量?

一個程式可以說是由資料結構與演算法共同組成...... 什麼是資料結構? 資料結構為將資料在記憶體中儲存與管理的方式。它影響資料存取、讀取、修改、刪除的效率。對...

2023-09-16 ‧ 由 helloasiao 分享
DAY 2

Array/ Python List 陣列與列表

Array (陣列)首先,我們先從簡單常見的資料結構介紹(前面幾篇都是簡單常見的資料結構介紹,覺得無聊的其實完全可以跳過~~),Python 內建的資料結構並無...

2023-09-17 ‧ 由 helloasiao 分享
DAY 3

Dictionaries and tuples 字典與元組

Dictionary (字典)Dictionary像是一個儲存的容器,沒有順序性,每個元素由一個key和value組成,value可以是另一個dictionar...

2023-09-18 ‧ 由 helloasiao 分享
DAY 4

簡單介紹OOP (Object-Oriented Programming)

為了後面學習其他資料結構像是linked list、tree等等,我們需要學一下物件導向程式設計,也就是大家耳熟能詳的OOP。很多時候,我們想要多個物件有多個類...

2023-09-19 ‧ 由 helloasiao 分享
DAY 5

Linked List - Singly linked list (單向鏈結串列)

Linked list是一種線性序列,其將資料儲存於節點(Node),隨機且不連續的存於記憶體中,每一個節點有指向下一個節點的指標。(見圖1)其好處是,不像前面...

2023-09-20 ‧ 由 helloasiao 分享
DAY 6

Linked List - Doubly Linked List (雙向鏈結串列)

昨天我們介紹單向鏈結串列(singly linked list),不同於單向鏈結串列,雙向鏈結串列(doubly linked list)的每個節點會也多一個指...

2023-09-21 ‧ 由 helloasiao 分享
DAY 7

Stack (堆疊)

Stack堆疊, 顧名思義其資料結構猶如堆疊般,最先放進去的資料最後才能取得(First-in last-out, FILO),最後放進去的資料,可以最先取得(...

2023-09-22 ‧ 由 helloasiao 分享
DAY 8

Queue (佇列)

Queue(佇列)這種資料結構就像排隊一樣,先來的先出去(FIFO,First in First Out),後來的後出去(LILO,Last in Last O...

2023-09-23 ‧ 由 helloasiao 分享
DAY 9

Recursion (遞迴)

遞迴的特徵是函式透過不斷呼叫自己,使問題變得越來越小,直到達到base condition停止,而解決問題。他常被用在divide and conquer, g...

2023-09-24 ‧ 由 helloasiao 分享
DAY 10

Tree (樹) 與 Binary Tree-1 (二元樹-1)

Tree (樹) 樹狀結構(tree)是一個非線性、有階層關係(hierarchical relationship)、非循環的資料結構。每個節點有的參數為其本身...

2023-09-25 ‧ 由 helloasiao 分享