iT邦幫忙

鐵人檔案

第 11 屆 iT 邦幫忙鐵人賽
回列表
自我挑戰組

透過JavaScript學習演算法與資料結構 系列

我本身是個半路出家的Node.js後端工程師,在演算法與資料結構上相當陌生,為此,想回過頭來想透過JavaScript打好基本功。

參賽天數 27 天 | 共 30 篇文章 | 19 人訂閱 訂閱系列文 RSS系列文
DAY 11

基數排序法(Radix Sort LSD mode)

主要精神陣列中的每個數依序以個位數、十位數、百位數等去做一個分類排序,有分成LSD、MSD兩種mode。 步驟: 選定好本回合使用的基數 依序用基數對每一...

2019-09-12 ‧ 由 Michael 分享
DAY 12

線性搜尋(Linear Search)

這種搜尋方法就是一般的迴圈搜尋,線性時間。 有時間就看一下這部有趣的影片 function linearSearch(arr,target){ for...

2019-09-13 ‧ 由 Michael 分享
DAY 13

二分搜尋(Binary Search)

首先這是一個由小排到大已經排序好的陣列,作法有點像是終極密碼的作法,不斷對這陣列做切分比大小,來達到快速搜尋。 先看這段影片 程式碼如下: functio...

2019-09-14 ‧ 由 Michael 分享
DAY 14

二元搜尋樹(Binary Search Tree)

抱歉~先看這段影片一下,中秋連假過後再補文章。 二元搜尋樹幾個原則: 左方子節點樹皆小於根節點值。 右方子節點樹皆大於根節點值。 左右兩方都是二元樹。 在此...

2019-09-15 ‧ 由 Michael 分享
DAY 15

插補搜尋(Interpolation Search)

插補搜尋(Interpolation Search)演算法又稱為內插搜尋演算法,是二元搜尋(Binary Search)演算法的變體。這套演算法可以在已排序好...

2019-09-16 ‧ 由 Michael 分享
DAY 16

陣列(Array)

陣列中的陣列元素就有相同的資料型別。 陣列是一種隨機存取結構,給定一組下標就可以訪問與其對應的資料元素。 陣列中的資料元素個數是固定的。 1個int 整數佔...

2019-09-17 ‧ 由 Michael 分享
DAY 17

堆疊(Stack)

Stack是具有「Last-In-First-Out」的資料結構(可以想像成一種裝資料的容器),「最晚進入Stack」的資料會「最先被取出」,「最早進入Sta...

2019-09-18 ‧ 由 Michael 分享
DAY 18

連結串列(Linked List)

連結串列是一種方便新增刪除的資料結構,陣列在記憶體中是連續的放置資料,而連結串列並不是,它透過指標維持資料的連續性。 class LinkedList {...

2019-09-19 ‧ 由 Michael 分享
DAY 19

樹(Tree)

樹Tree 相關名詞解釋 Node(節點):每一個被Tree所連接到的點,都可被稱作這棵樹的Node(節點)。 Root(根節點):每一個Tree最初(或最...

2019-09-20 ‧ 由 Michael 分享
DAY 20

圖(Graph)

點(node):圖形中的點,上圖中有點1、點2、點3、點4與點5。。 邊(edge):兩個點之間可以有邊相連,上圖中的邊有(1,2)、(1,3)、(1,4)...

2019-09-21 ‧ 由 Michael 分享