iT邦幫忙

鐵人檔案

第 11 屆 iThome 鐵人賽
回列表
Software Development

使用JavaScript學習資料結構與演算法 系列

作為一名明年就要畢業的大四生,我想將自己大二時學過的資料結構和常見演算法用JavaScript實作一次,像是連結串列、堆疊、佇列、排序還有河內塔、八皇后等問題。
透過這些練習提升自己的程式能力和文章的論述能力,並讓看我文章的人們有所收穫。

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

Day11-來介紹資料結構-樹(Tree)吧!

今天要介紹的是樹,大致的樣子如下圖,其中樹的每個元素都稱為節點,樹最上方的節點稱為根節點,而節點之間上層節點為下層節點的父節點,下層節點為上層節點的子節點,如果...

2019-09-25 ‧ 由 harry xie 分享
DAY 12

Day12-資料結構-樹(Tree)的一些操作方法

今天將會把昨天實作的樹,加上幾個函式: sum(): 所有節點值的總和 contain(): 查詢是否樹裡有指定要找的值 size(): 計算樹裡共有幾個節點...

2019-09-26 ‧ 由 harry xie 分享
DAY 13

Day13-來了解 Set 並實作它吧!

集合是一種資料順序沒有意義而且其資料不會有重複值的一種資料結構,在 JavaScript ES6 的規範中,我們可以透過 new Set() 來建立一個 set...

2019-09-27 ‧ 由 harry xie 分享
DAY 14

Day14-來了解Map並實作它吧!

在JavaScript ES6 的規範中,新增了 Map 這種資料結構,每組資料都有對應的 key 值(索引值)與 value 值(資料值),而且索引值可以是各...

2019-09-28 ‧ 由 harry xie 分享
DAY 15

Day15-資料結構總結與一些免費學習資源

在過去的14天我們介紹了許多種類的資料結構,並且大多都有搭配一個例題去作應用,不過寫到這邊也到一個段落了,在此想要強調的是資料結構和演算法在資工資管等資訊相關科...

2019-09-29 ‧ 由 harry xie 分享
DAY 16

Day16-演算法篇開始!介紹五個常用的演算法

在結束介紹資料結構的部分後,我們將會進入學習一些和演算法相關的知識,今天就先來認識一下"五個"常見的演算法吧! Brute force 暴力...

2019-09-30 ‧ 由 harry xie 分享
DAY 17

Day17-排序法系列(一)-氣泡排序法

氣泡排序法(Bubble Sort)是最容易理解和實作的排序演算法,但其時間複雜度在排序法當中算是最差的一個。主要觀念是從頭開始逐一比較相鄰兩筆資料,將較大值往...

2019-10-01 ‧ 由 harry xie 分享
DAY 18

Day18-排序法系列(二)-選擇排序法

選擇排序法 Selection Sort會在未排序的資料列中尋找資料值最小(大)的元素,和原本資料列的第一個元素交換位置,再從剩下未排序的資料列中尋找資料值最小...

2019-10-02 ‧ 由 harry xie 分享
DAY 19

Day19-排序法系列(三)-插入排序法

今天要介紹的是插入排序法 Insertion Sort,在排序小型資料時,此演算法效能比氣泡排序和選擇排序效能更好。 插入排序法運作方式為逐一將資料值加入已排序...

2019-10-03 ‧ 由 harry xie 分享
DAY 20

Day20-排序法系列(四)-合併排序法

今天要介紹的是合併排序法 Merge Sort,合併排序法採用分治法(Divide and Conquer),它將資料列不斷分割成兩個資料列,這兩個資料列也不斷...

2019-10-04 ‧ 由 harry xie 分享