iT邦幫忙

鐵人檔案

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

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

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

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

Binary Tree -2 (二元樹-2)

昨天給大家介紹了二元樹,今天帶大家來看程式碼:首先demo用linked list做binary tree,圖應該看起來像這樣:圖1 下面example對應到的...

2023-09-26 ‧ 由 helloasiao 分享
DAY 12

Binary Tree -3 (二元樹-3)

前面介紹用linked list寫Binary tree,今天給大家demo用python list(固定大小(with capacity limited))寫...

2023-09-27 ‧ 由 helloasiao 分享
DAY 13

Binary Search Tree (二元搜尋樹)

二元搜尋樹(Binary Search Tree)是二元樹(Binary Tree)的一種,但其另外遵循以下幾個規則:1. Left child 的值會少於等於...

2023-09-28 ‧ 由 helloasiao 分享
DAY 14

Binary Heap (二元堆積)

二元堆積(Binary Heap)為一有以下性質的二元樹:1. 所有的parent nodes必須比下面的children nodes值都小(min heap)...

2023-09-29 ‧ 由 helloasiao 分享
DAY 15

AVL Tree

AVL 樹是一種會自我平衡的二元搜尋樹(Binary Search Tree,見兩天前文章),對每一個節點來說,左右兩邊的高度差(height differen...

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

Trie (字典樹)

字典樹(trie)是一種樹狀資料結構,用於儲存關聯有序陣列,通常是字串。(圖1)其在儲存與搜尋字串方面在空間與時間上很有效率。其任一節點可以字典的形式儲存非重複...

2023-10-01 ‧ 由 helloasiao 分享
DAY 17

Hash table (雜湊表)

今天來點輕鬆的~我們來介紹hash table 雜湊表是一種關聯性陣列(associative array)允許使用者用key來索引資料儲存位子hash val...

2023-10-02 ‧ 由 helloasiao 分享
DAY 18

排序演算法-1 (氣泡排序法、選擇排序法、插入排序法、桶排序法)

介紹完資料結構,總算進入到演算法的部分,根據課綱,我們首先從排序演算法(sorting algorithm)開始看:排序演算法將資料由小到大(ascending...

2023-10-03 ‧ 由 helloasiao 分享
DAY 19

排序演算法-2 (合併排序法、快速排序法、堆積排序法)

合併排序法 (Merge Sort) 合併演算法input array不斷分成兩半,直到不能再分(剩一個element),再兩兩合併各組資料,合併時排序,再合併...

2023-10-04 ‧ 由 helloasiao 分享
DAY 20

搜尋演算法(Searching algorithm)

今天的部分就輕鬆很多,這裡就只介紹線性搜尋和二元搜尋。 線性搜尋 線性搜尋(linear search):把想搜尋的目標跟array中的值一個一個對比。時間複雜...

2023-10-05 ‧ 由 helloasiao 分享